Bonjour à tous,
Je viens vers vous pour un petit soucis qui me prend un petit peu la tête depuis ce matin. En fait, via une requête AJAX j'aimerais pouvoir remplir une liste déroulante qui se trouve dans une cellule d'un tableau jqGrid. Au niveau du code propre à jqGrid pour afficher et remplir la liste via une liste que je fais en dur j'ai pas de problème.
Le soucis arrive avec l'ajout de l'AJAX pour remplir cette liste, je récupère bien tout ce que je veux comme je veux, mais dans ma boucle each pour remplir la liste, ça ne fonctionne juste pas je sais pas pourquoi... Tant que je suis dans la boucle la liste se rempli bien, mais une fois en dehors, la liste est vidée je ne sais pas pourquoi... Si quelqu'un pouvait m'éclairer sur le sujet ça serait cool
Construction de la liste :
Le problème avec le résultat afficher dans des alert:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function getDomains(){ var domainValues = '{'; $.getJSON("ajax/load/domainValues", function(data) { $.each(data, function(key, val) { domainValues += (key + 1) + " : '" + val.name + "', "; }); }); domainValues += '}'; return domainValues; }
- avant l'AJAX, j'ai bien "{" comme résultat.
- Une fois dans la requête (juste avant la boucle), j'ai "{}" je sais pas pourquoi
- Dans la boucle, j'ai "{} 1 : 'valeur', 2 : 'valeur', ..."
- Une fois sortis de la boucle j'ai "{}"
Je comprend pas comment ça peut être possible un truc pareil, merci de m'éclairer
Dans la création de mon tableau, je crée ma liste ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 edittype : 'select', formatter : 'select', editoptions : { value : getDomains() }
Partager