Lien entre 2 listbox

Soyez le premier à donner votre avis sur cette source.

Snippet vu 13 960 fois - Téléchargée 28 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
Messages postés
181
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
28 avril 2009

Pas compatible Mozilla
Messages postés
13
Date d'inscription
samedi 6 décembre 2003
Statut
Membre
Dernière intervention
27 avril 2004

super code, mais comment pourait on rajouter un
cols[2][1][1].text = "text1-1";
cols[2][1][1].value = "value1-1";

?
Messages postés
13
Date d'inscription
samedi 6 décembre 2003
Statut
Membre
Dernière intervention
27 avril 2004

super code, mais comment pourait on rajouter un
cols[2][1][1].text = "text1-1";
cols[2][1][1].value = "value1-1";

?
Messages postés
113
Date d'inscription
vendredi 16 août 2002
Statut
Modérateur
Dernière intervention
15 mai 2005

Ok, je v corriger ca
Messages postés
203
Date d'inscription
dimanche 6 avril 2003
Statut
Membre
Dernière intervention
13 août 2005

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.