Bonjour,
Voici mon soucis :
J'ai une liste B qui dépend de ma liste A
Quand je sélectionne un élément de ma liste A ça modifie ma liste B, qui rempli un champ input. Tout ceci fonctionne bien quand je le fais à la mano.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <select id="listA"> </selec> <select id="listB"> </selec> <input id="monInput" value="champs rempli sur l'event change de ma liste B"/>
Mon soucis se trouve lorsque je veux modifier la sélection de ma listeA et B en programmation.
Le soucis est que comme le .change() met un peu de temps à remplir ma liste B; mon instruction suivante ne peut pas sélectionner la valeur de ma liste B puisqu'elle n'est pas encore rempli...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 $("#listA").on("change, function* (... // mon code qui charge ma listB à l'aide d'une requete asynchrone ); $(unbouton).on("click",function* (..){ ... var a = data recup depuis un objet JSON; var b = data recup depuis un objet JSON; $(listA).val(a); $(listA).change(); //Déjà là je suis obligé de déclencher l'événement manuellement sinon ça ne fait rien $(listB).val(b); ... );
Avez vous une idée sur comment je peux faire pour "patienter" la fin de l'event ? (j'ai déjà tester des truc crade à base de sleep mais rien à faire étant donné que dans mon onChange j'ai de l'ascynchrone) peut être qu'il y a une solution à l'aide des promises/yield (chose que je ne maîtrise pas du tout) non ?
Note : je pense aussi avoir un problème de conception du fait que je dois appeler manuellement .change() (je peux me montrer, et c'est peut etre une bonne facon de faire)







Répondre avec citation
Partager