Déplacer des éléments d'un SELECT à un autre SELECT en réordonnant les éléments.
JavaScript Pour pouvoir le télécharger, connectez-vous ! ;)
<html><head> <script language="javascript"> // On stocke les éléments dans un tableau var ls1=new Array("Alain","Brice","Charles","Denis","Emile","Fernand","Gérard","Hector"); var ls2=new Array(); // La fonction qui déplace de l'un à l'autre function deplace(sens){ s1=document.frm.l1.selectedIndex; // Pour simplifier les écritures s2=document.frm.l2.selectedIndex; // ci-dessous ;) if(((sens=="1")&&(s1<0))||((sens=="2")&&(s2<0))){alert("Sélectionnez un élément du bon côté");sens="0";} if(sens=="1"){ls2[ls2.length]=ls1[s1];ls1.splice(s1,1);} // Ajout et suppression if(sens=="2"){ls1[ls1.length]=ls2[s2];ls2.splice(s2,1);} // Ajout et suppression ls1.sort();ls2.sort(); // Tri des tableaux } // La fonction qui actualise l'affichage function actu(){ t="<select name='l1' size="+ls1.length+">" for(i=0;i<ls1.length;i++) t+="<option>"+ls1[i]+"</option>"; document.frm.l1.outerHTML=t+"</select>"; t="<select name='l2' size="+ls2.length+">" for(i=0;i<ls2.length;i++) t+="<option>"+ls2[i]+"</option>"; document.frm.l2.outerHTML=t+"</select>"; } </script> </head> <body onLoad="actu()"> <form name="frm"><table><tr> <td valign=top><select name="l1"></select></td> <td><a href="javascript:deplace(1);actu();">>></a><br><br><a href="javascript:deplace(2);actu();"><<</a></td> <td valign=top><select name="l2"></select></td> </tr></table></form> </body></htmL>