inlineediting editoptions colmodel aftersaverow jquery select plugins jeditable multi-select

jquery - editoptions - jqgrid formatter select



¿Hay un jQuery jEditable Multi-select plugin? (3)

He estado buscando lo mismo también. Tratando de lograr eso, pero nada parece funcionar.

Por cierto, encontré esto pero parece que tampoco funciona - http://pastebin.com/cbDndv5h

Estoy usando el excelente plugin jD editable para algunas ediciones en mi página. Hay un punto que necesito un elemento de selección múltiple. ¿Hay algún complemento editable que me permita hacer esto?

He intentado usar la API del complemento del autor editable para crear mi propio plugin multiselección, pero hasta el momento no he recibido ningún dado. Simplemente no parece haber suficiente documentación sobre lo que hace cada función en la API. Y cada plugin de ejemplo que proporciona parece depender de otros complementos jQuery. Solo necesito un elemento básico de selección múltiple ...


Hice un pequeño parche a la sugerencia de Kalyan que causó que no funcionara sin la opción opcional "seleccionada" y sin código duro el atributo de tamaño. Luego lo modifiqué para que fuera un complemento editable en lugar de algo que tienes que pegar en jEditable. Actualmente estoy usando esto en el sitio web de un cliente, aunque lo uso exclusivamente poblado por una cadena json para que otros métodos aún tengan problemas.

$.editable.addInputType("multiselect", { element: function (settings, original) { var select = $(''<select multiple="multiple" />''); if (settings.width != ''none'') { select.width(settings.width); } if (settings.size) { select.attr(''size'', settings.size); } $(this).append(select); return (select); }, content: function (data, settings, original) { /* If it is string assume it is json. */ if (String == data.constructor) { eval(''var json = '' + data); } else { /* Otherwise assume it is a hash already. */ var json = data; } for (var key in json) { if (!json.hasOwnProperty(key)) { continue; } if (''selected'' == key) { continue; } var option = $(''<option />'').val(key).append(json[key]); $(''select'', this).append(option); } if ($(this).val() == json[''selected''] || $(this).html() == $.trim(original.revert)) { $(this).attr(''selected'', ''selected''); } /* Loop option again to set selected. IE needed this... */ $(''select'', this).children().each(function () { if (json.selected) { var option = $(this); $.each(json.selected, function (index, value) { if (option.val() == value) { option.attr(''selected'', ''selected''); } }); } else { if (original.revert.indexOf($(this).html()) != -1) $(this).attr(''selected'', ''selected''); } }); } });


El complemento jeditable hace esto. Ejemplo:

$(''.editable'').editable(''http://www.example.com/save.php'', { data : " {''E'':''Letter E'',''F'':''Letter F'',''G'':''Letter G'', ''selected'':''F''}", type : ''select'', submit : ''OK'' });