Select avec javascript

Fermé
youkisall Messages postés 20 Date d'inscription lundi 12 novembre 2007 Statut Membre Dernière intervention 5 juin 2011 - 22 févr. 2008 à 05:28
 theduc - 7 mai 2009 à 20:49
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

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 662 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 20 mai 2009 78
19 juil. 2008 à 23:21
et si tu réécrivais le contenu de ton <form> dynamiquement avec innerHTML ?
1