En mi aplicación, uso JQGrid para cargar algunos datos de contactos, y cuando edito/agrego una entrada selecciono el nombre del contacto de la base de datos y luego actualizo/agregué contacto.JQGrid: ¿Cómo puedo actualizar un menú desplegable después de la edición?
Mi problema es que, cuando hago clic en el botón de enviar, quiero actualizar el menú desplegable y los datos que ya se han ingresado para disparar desde la lista desplegable.
Mi código:
para colModel:
{ name: 'OwnerEmail', index: 'OwnerEmail', width: 200, align: "center", sortable: true, sorttype: 'text', editable: true, edittype: 'select', editrules: { required: true }, editoptions: { value: ownersList} },
que pueblan el menú desplegable en Seleccionar fila (que cuando selecciono una fila, el menú desplegable se actualizará)
onSelectRow: function (id) {
var advOwners = $.ajax({
type: 'POST',
data: {},
url: 'MyWebService.asmx/GetOwners',
async: false,
error: function() {
alert('An error has occured retrieving Owners!');
}
}).responseXML;
var aux = advOwners.getElementsByTagName("string");
ownersList = "";
for (var i = 0; i < aux.length; i++) {
ownersList += aux[i].childNodes[0].nodeValue + ':' + aux[i].childNodes[0].nodeValue + '; ';
}
ownersList = ownersList.substring(0, ownersList.length - 2);
jQuery("#GridView").setColProp('OwnerEmail', { editoptions: { value: ownersList} });
}
Pero cuando ingreso nuevamente el formulario editar/agregar, el menú desplegable no se actualiza, tiene los elementos que se han cargado en primer lugar.
¿Algún ayuda?
Gracias, Jeff
He seguido su opinión y he cambiado el código, pero nunca entra en el método web GetSelectData. –
@Jeff Norman: Si me ayuda, puedo cargar un proyecto de demostración que utilicé para verificar mis sugerencias. – Oleg
Sí, por favor, Oleg –