Menu déroulant encore!

cs_metaleurop Messages postés 13 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 24 juillet 2008 - 10 juil. 2008 à 19:02
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 12 juil. 2008 à 11:09
Bonsoir.
Ce script m'a ensorcelé toute l'après midi et pourtant j'en vois toujours le bout.
Quelqu'un pourrait-il m'aider?
<HTML>
<HEAD>
<TITLE>2 Selects dépendants en JavaScript</TITLE>
<script   type="text/javascript">
function gensel2()
{  s2.length=0;
   for ( var n=0; n<list[s1.selectedIndex].length; n++ )
   {  s2.length++;
      s2.options[s2.length-1].text=list[s1.selectedIndex][n];  
   }  
}
</script>
<script   type="text/javascript">
function gensel3()
{  s3.length=0;
   for ( var k=0; k<liste[s2.selectedIndex].length; k++ )
   {  s3.length++;
      s3.options[s3.length-1].text=liste[s2.selectedIndex][k];  
   }  
}
</script>


</HEAD>

<form    name="frm">


   <select  size=4
         name="sel1"
         id="sel1"
         onchange="gensel2();">
      <optgroup label="Choisissez votre rubrique">
         <option>Sixième</option>
         <option>Cinquième</option>
         <option>Quatrième</option>
         <option>Troisième</option>
      </optgroup>
   </select>


   <select  size=4
         name="sel2"
         id="sel2"
       onchange="gensel3();">
      <optgroup label="Choisissez votre rubrique">
      </optgroup>
   </select>




   <select  size=4
         name="sel3"
         id="sel3">
      <optgroup label="Choisissez votre rubrique">
      </optgroup>
   </select>
 
 
</form>
<script   type="text/javascript">
var s1=document.getElementById("sel1");
var s2=document.getElementById("sel2");  
var list=new Array(
   new Array("Numérique","Géométrie"),
   new Array("Numérique","Géométrie"),
   new Array("Numérique","Géométrie"),
   new Array("Numérique","Géométrie")
);
</script>
<script   type="text/javascript">


var s3=document.getElementById("sel3");  
var liste=new Array(
   new Array("..."),
   new Array("non","Finistère","Ille-et-Vilaine","Morbihan"),
   new Array ("Priorités opératoires","Fractions","proportionnalité","Calcul littéral","Nombres relatifs","Statistiques"),
   new Array("à venir "),
new  Array("nombres relatifs","Fractions","Puissances","calul littéral","Equations","Proportionnalité"),
  new Array("but")
);
</script>




</HTML>

Dans la 3e liste, ce sont toujours ... et non,finistère,etc qui apparaissent. Quelqu'un voit-il pourquoi?
Merci beaucoup

1 réponse

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
12 juil. 2008 à 11:09
Bonjour,

faudrait que tu nous explique un peu !

pourquoi le 2ème select contient toujours "numérique" et "géométrie" ?
    ça sert à quoi de le générer en fonction du choix dans le 1er select,
    si c'est toujours la même chose ?
ensuite, tu as 4 possibilités dans le 1er select, 2 dans le 2ème,
    donc il devrait y avoir 8 résultats possibles dans le 3ème select
    or, on en voit que 6

impossible de t'aider à mettre au point sans comprendre,
pour moi... et j'ai souvent du mal... à comprendre.

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
Rejoignez-nous