Salut,
j'ai deux listes de select : liste1 et liste2. liste1 est composé de plusieurs select: s01,s02,s03,s04 et liste2 est aussi composée de plusieurs select : s11,s12,s13,s14.
Les valeurs de select s11 dépend de la valeur choisie de s01 (à l'aide de l'attribut onchange)
de même pour s12 et s02, pour s13 et s03 et pour s14 et s04. Les select de la lite1 possèdent la même liste de valeurs.
jusqu'au là tout va bien. Le problème apparait dans l'étape suivante. J'ai mis à coté de chaque select de la liste1 un checkbox; si on séléctionne ce chekbox le choix de la select courante sera appliqué pour toutes les select qui suivent et par conséquent les valeurs des select de la liste2 changent suivant la valeur choisie, mon problème est : juste la première et la dernière select de la liste2 changent de valeurs.
un exemple :
supposons que les select s01,s02,s03 et s04 contiennent une liste d'entreprises(E1,E2,E3) et les select s11,s12,s13 et s14 contiennent la liste des employés de l'entreprise correspondent ; si je choisis E3 pour s01 et je clique sur le checkbox devant s01 donc E3 sera sélectionné pour s02,s03 et s04 et par conséquence les employés de E3 apparaissent dans s11,s12,s13 et s14 alors que pour le moment ils apparaissent juste dans s11 et s14

voila la fonction que j'appelle lors du clic sur le checkbox
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
18
19
20
21
22
23
24
25
function appliquerChoix(obj){
	//alert("hi");
	if(obj.checked==true){
	var ok = confirm("Appliquer ce choix pour toutes les lignes suivantes?");
	if(ok){
		var index = obj.id.lastIndexOf(";");
		var selectedline = obj.id.substring(index+1);
		var nom = obj.id.substring(0,index);
		var nbrline = document.getElementById("nbr").value;
		var selectedoption = document.getElementById(nom+selectedline).selectedIndex;
		//alert(nbrline);
		//selectedline=selectedline+1;
		var currentline = parseInt(selectedline)+1;
		for(var i=currentline;i<nbrline;i++){
			//alert(nom+";"+i);
 
			var myselect=document.getElementById(nom+i);
			 myselect.selectedIndex= selectedoption;//.options[selectedoption].selected=true;
			 document.getElementById(nom+";"+i).checked=true;
			 myselect.onchange();
			 }
 
		}
	}
}