Dans mon application, j'utilise JQGrid pour charger des données de contacts, et quand j'édite/ajoute une entrée, je sélectionne le nom du contact dans la base de données puis je mets à jour/ajoute un contact.JQGrid: Comment puis-je actualiser une liste déroulante après modification?
Mon problème est que, lorsque je clique sur le bouton «Soumettre», je veux rafraîchir la liste déroulante et les données qui ont déjà été saisies dans la liste déroulante.
Mon code:
pour colModel:
{ name: 'OwnerEmail', index: 'OwnerEmail', width: 200, align: "center", sortable: true, sorttype: 'text', editable: true, edittype: 'select', editrules: { required: true }, editoptions: { value: ownersList} },
Je peuplent le menu déroulant de sélection de la ligne (que lorsque je sélectionne une ligne, le menu déroulant sera mise à jour)
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} });
}
Mais Lorsque j'entre à nouveau le formulaire d'édition/ajout, le menu déroulant n'est pas actualisé, il contient les éléments qui ont été chargés en premier lieu.
Une aide?
Merci, Jeff
J'ai suivi votre avis et changé le code, mais il n'entre jamais dans la méthode Web GetSelectData .. –
@Jeff Norman: Si vous pouviez aider, je peux télécharger un projet de démonstration que j'ai utilisé pour vérifier mes suggestions. – Oleg
Oui, s'il vous plaît Oleg –