Select avec javascript

youkisall Messages postés 21 Statut Membre -  
 theduc -
Bonjour,
<form name="test" method="POST">
<select name="article1" onchange="changeListes(this)">
<option value="0">choisir</option>
<option value="1">premier</option>
<option value="2">deuxieme</option>
<option value="3">troisiemee</option>
</select>
<select name="article2" onchange="changeListes(this)">
<option value="0">choisir</option>
<option value="1">premier</option>
<option value="2">deuxieme</option>
<option value="3">troisiemee</option>
</select>

<select name="premier" >
<option>serie1</option>
<option>serie2</option>
<option>serie3</option>

</select>
<select name="deuxieme" >
<option>serieA</option>
<option>serieB</option>
<option>serieC</option>

</select>


</form>

Bonjour je veux de l aide pour faire une fonction appelee par exemple chaneListes qui fait ceci :
Si dans le premier select appale "article1" on fait un choix alors la liste des choix du select appelé "premier es active a cote" pour qu puisse faire
un choix par mi la liste des serie 1, ou serie 2....
Parcontre si dans le premier select on fait le choix "deuxieme" c'est la liste du dernier select qui s'offre a nous au lieu de pouvoir faire serie 1, serie 2
on pourra seulement choisir les serie a ...
Un exemple pratique pour mieux faire comprendre c'est qd tu vas dans un site de vente en ligne si tu choisi par exemple parmi une liste de produit, il apparait
juste a cote une liste des prix des differents cathegories de ce produit
Et si tu choisi autre produit une autre liste de select d eprix est construite dynamiquement
J ai fait cette fction suivante mais elle me donne de serreurs merci

function changeListes {
if (article1.options[article1.selectedIndex].value== 1){
document.test.premier.select();
els
if (article1.options[article1.selectedIndex].value == 2)
document.deuxieme.select(n);
}

2 réponses

theduc
 
Il te suffit, au plus simple, d'utiliser des "div" pour cacher les différents modules. J'utilisa ça régulièrement :
<div id="1" style="display:none;">(...)</div>
<script>
document.getElementById("1").style.display="none"; // Pour cacher
document.getElementById("1").style.display="block"; // Pour afficher en bloc
document.getElementById("1").style.display="inline"; // Pour afficher en ligne (+ - = à span)
</script>
2
petinouv Messages postés 696 Statut Membre 82
 
et si tu réécrivais le contenu de ton <form> dynamiquement avec innerHTML ?
1