Lien entre 2 listbox

Soyez le premier à donner votre avis sur cette source.

Snippet vu 14 107 fois - Téléchargée 29 fois

Contenu du snippet

Voila, je sais plus qui me l'avais demandé y a un moment sur le chat ... je l'ai fait, autant poster ! Autant vous dire qu'à 3 listbox le code se complique un peu plus :)

Source / Exemple :


<html>
<script language=javascript>
	//colX[entrée referante][sortie référente]

	
	cols = new Array();
	// Colonne 2
		cols[2] = new Array();

		// Références à l'entrée 0 de la colonne 1
			cols[2][0] = new Array();

			cols[2][0][0] = document.createElement("OPTION"); // création d'un élément option
			cols[2][0][0].value = "value0-0";
			cols[2][0][0].text = "text0-0";

		// Références à l'entrée 1 de la colonne 1
			cols[2][1] = new Array();	
		
			cols[2][1][0] = document.createElement("OPTION");
			cols[2][1][0].text = "text1-0";
			cols[2][1][0].value = "value1-0";

	// Fin colonne 2

	function Build_List(list) {
		nblist = list.id.substr(list.id.length-1,1); // récupération du numéro de la liste : id="listeX" => liste nb X

		++nblist;

		newlist = document.getElementById("list"+nblist);

		if (newlist.length > cols[nblist][list.selectedIndex].length) { // on cherche à définir le max pr la boucle
			maxi = newlist.length;
		}
		else
		{	
			maxi = cols[nblist][list.selectedIndex].length;
		} 
	
		for(i=0;i<maxi;i++) {
			if (i < newlist.length) {
				newlist.remove(i); // on efface les anciennes entrées
			}

			if (i < cols[nblist][list.selectedIndex].length) {			
				newlist.add(cols[nblist][list.selectedIndex][i]); // on met les nouvelles
			}
		}

		newlist.change; // on update
	}
</script>
<body>
<select name=choix1 id=list1 onchange="Build_List(this);" multiple>
	<option value="test">Option1</option>
	<option value="test2">Option 2</option>
</select>
<select name=choix2 id=list2 multiple>
</select>
</body>
</html>

A voir également

Ajouter un commentaire Commentaires
Syruis Messages postés 181 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 28 avril 2009
26 juil. 2004 à 13:03
Pas compatible Mozilla
aragorn1024 Messages postés 13 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 27 avril 2004
24 févr. 2004 à 20:29
super code, mais comment pourait on rajouter un
cols[2][1][1].text = "text1-1";
cols[2][1][1].value = "value1-1";

?
aragorn1024 Messages postés 13 Date d'inscription samedi 6 décembre 2003 Statut Membre Dernière intervention 27 avril 2004
24 févr. 2004 à 20:29
super code, mais comment pourait on rajouter un
cols[2][1][1].text = "text1-1";
cols[2][1][1].value = "value1-1";

?
cs_Cyrille2 Messages postés 113 Date d'inscription vendredi 16 août 2002 Statut Membre Dernière intervention 15 mai 2005
13 mai 2003 à 16:56
Ok, je v corriger ca
cs_MiTcH37 Messages postés 203 Date d'inscription dimanche 6 avril 2003 Statut Membre Dernière intervention 13 août 2005
13 mai 2003 à 09:35
whaooouuuuuu, ya des commentaires !
c'est rare de nos jours...
il faudrait par contre dire plus précisément ce qu'il fait.
sinon, il a l'air bien

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.