bonjour.
voilà j'ai un problème sur la permutation des valeurs de deux listes (html:select).
je dispose de deux listes à choix multiples, et moyennant deux boutons je voudrais faire passer les valeurs selectionnées d'une des listes vers l'autre (dans les deux sens selon le bouton), puis le tout est transmis à une action struts.
Code javascript pour la permutation:
partie du code de la page:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function deplacer(l1,l2) { if (l1.options.selectedIndex>=0) { for (var i=0;i<l1.options.length;i++) { if (l1.options[i].selected) { o=new Option(l1.options[i].text,l1.options[i].value); l2.options[l2.options.length]=o; l1.options[i]=null; } } } else alert("Aucun droit sélectionné"); }
le soucis c'est qu'à la recupération dans l'action, parfois ça marche bien, et parfois j'obtiens des valeurs redondantes dans les deux listes, ce qui ne devrait pas se produire (l1.options[i]=null
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 <font size="2"><strong>Liste 1</strong></font> <html:select property="id_tache_g" size="10" multiple="true" tyleClass="largeurListes"> <html:options collection="vect1" property="id_tache" labelProperty="libelle"/></html:select></td> <td> <input type="button" value="Attribuer >>" onclick="Deplacer(this.form.id_tache_g,this.form.id_tache_d)" > <input type="button" value="<< Retirer" onclick="Deplacer(this.form.id_tache_d,this.form.id_tache_g)"> </td> <td><font size="2"><strong>Liste 2</strong></font> <div align="center"> <html:select property="id_tache_d" size="10" multiple="true" styleClass="largeurListes"> <html:options collection="vect2" property="id_tache" labelProperty="libelle"/> </html:select></div></td>
un coup de pouce me rendrait vraiment service car j'ai épuisé toutes mes batteries.
Merci d'avance.
Partager