Test 1.1 : Test 1.2 : Test 1.3 : Test 2.1 : Test 2.2 : Test 2.3 : Test 2.4 :et lors d'un changement de choix, de masquer toutes les DIVs puis d'afficher la DIV correspondante à l'option
function afficherAutre() { var a = document.getElementById("opt_1"); var m = document.getElementById("opt_2"); if (document.form1.liste.value == 2) { if (a.style.display == "none") a.style.display = "block"; } else { a.style.display = "none"; } if (document.form1.liste.value == 3) { if (m.style.display == "none") m.style.display = "block"; } else { m.style.display = "none"; } }
<form name="form1" method="post" action=""> Choisissez une option : <select name="liste" onChange="afficherAutre()"> <option value=1>option</option> <option value=2>option1</option> <option value=3>option2</option> </select> Test 1.1 : Test 1.2 : Test 1.3 : Test 2.1 : Test 2.2 : Test 2.3 : Test 2.4 : </form>
<script type="text/javascript"> //--------------------------------------- function afficherAutre(select_, radical_){ //-- Init diverses var i, oDiv, nb = select_.options.length; //-- Masque tout for (i = 0; i < nb; i++) { oDiv = document.getElementById( radical_ + i); if (oDiv) { oDiv.style.display = "none"; } } //-- Affiche la DIV concernee i = select_.selectedIndex; oDiv = document.getElementById( radical_ + i); if (oDiv) { oDiv.style.display = "block"; } } </script>ici on passe la référence au SELECT ainsi que le radical, racine commune des DIVs en paramètre, et l'on considère qu'il y a une DIV par option, l'OPTION en 1st position effaçant tout.
<select name="liste" onChange="afficherAutre( this, 'opt_')">par exemple ce qui la rend plus souple, sans modification, et utilisable par un autre SELECT de la page.
function afficherAutre(select_, radical_){ //-- Init diverses var i, oDiv, nb = select_.options.length; //-- Masque tout for (i = 0; i < nb; i++) { oDiv = document.getElementById( radical_ + i); if (oDiv) { oDiv.style.display = "none"; } } //-- Affiche la DIV concernee i = select_.selectedIndex; oDiv = document.getElementById( radical_ + i); if (oDiv) { oDiv.style.display = "block"; } }
<form name="form1" method="post" action=""> Choisissez une option : <select name="liste" onChange="afficherAutre( this, 'opt_')"> <option value="-">Selectionnez la catégorie</option> <option value="2">option1</option> <option value="3">option2</option> </select> Test 1.1 : Test 1.2 : Test 1.3 : Test 2.1 : Test 2.2 : Test 2.3 : Test 2.4 : </form>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question