Page 1 sur 1

cacher un calque a partir d'un select

Posté : 17 janv. 2007, 11:42
par guy
Bonjour

j'ai ce petit cade pour cacher un select si un checkbox n'est pas validé.

Code : Tout sélectionner

<script language="JavaScript"> <!-- function montrer_cacher(laCase,leCalk,leCalk2) { [code]if (laCase.checked)
//la case est cochée -> on montre le calque
{
document.getElementById(leCalk).style.visibility="visible";
document.getElementById(leCalk2).style.visibility="visible";
}
else //la case n'est pas cochée -> on cache le calque
{
document.getElementById(leCalk).style.visibility="hidden";
document.getElementById(leCalk2).style.visibility="hidden";
}
}
</script>
[/code]

Je souhaite le modifier pour qu'il marche avec un sectect--> si l'option oui est choisie on affiche le second select dans tous les cas contraire on cache ce select. Je sait que je doit changer la condition

Code : Tout sélectionner

if (laCase.checked)
mais je ne sais pas par quoi
(je suis completement a la masse en js :oops:

Guy

Posté : 17 janv. 2007, 12:06
par Ryle
laCase.checked : signifie que tu testes la valeur de l'attribut "checked" pour l'élément "laCase" (qui doit logiquement être une case à cocher ou le bouton radio pour avoir cette propriété.)

Dans le cas d'un select, tu peux tester l'attribut "selected" pour savoir si une option spécifique est sélectionnée :

Code : Tout sélectionner

document.nom_formulaire.nom_select.options[xxx].selected
xxx correspondant à l'index de l'option a tester (0 étant la première). L'inconvénient, c'est qu'il faut connaitre l'index de l'option.

Tu peux également savoir quel option est sélectionnée en utilisant l'attribut "selectedIndex" du select :

Code : Tout sélectionner

document.nom_formulaire.nom_select.selectedIndex
=> te retournera l'index de l'option sélectionnée, ou -1 si aucune option n'est sélectionnée.

Ainsi tu peux par exemple récupérer la valeur de l'attribut "value" de l'option selectionnée de cette façon :

Code : Tout sélectionner

document.nom_formulaire.nom_select.options[document.nom_formulaire.nom_select.selectedIndex].value
=> On va chercher dans le tableau d'options, l'index de l'option selectionnée pour en déterminer la valeur