Un menu li de 'display=none' à 'display=block' avec javascript [Résolu]

Messages postés
2
Date d'inscription
lundi 12 mai 2014
Statut
Membre
Dernière intervention
22 mai 2014
- - Dernière réponse : Ouma.Lou
Messages postés
2
Date d'inscription
lundi 12 mai 2014
Statut
Membre
Dernière intervention
22 mai 2014
- 22 mai 2014 à 15:44
Bonjour,
j'ai un menu animé par Jquery où j'ai mis display:none pour les "li", au dessus un combobox contennt les valeurs de 1 à 5, ce que je veux de ma fonction valid() en javascript c'est de rendre le nombre choisit des "li" en display:block !! voilà le code que j'ai essayé avec mais ça n'a pas marché !


 function valid(a)
{        
     var x = (a.value || a.options[a.selectedIndex].value);
    
    for (i=2;i < 6;i++)
	{
    document.getElementById('mod'+i).display =none;
    }

    for(i=2; i<=x;i++)
    {
         document.getElementById('mod'+i).display =block;
    }
    
    x = (a.value || a.options[a.selectedIndex].value);
	


    
}




 
<div id="wb_Text75">
<span>Nembre de sous-modules :</span></div>
<select name="prof1" size="1" id="choixinput" onchange="valid(this);">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
...

<ul>
<li id='1'><a href="#jquerytabs1-page-0"><span>Sous-module 1</span></a></li>
<li id='mod2'><a href="#jquerytabs1-page-1"><span>Sous-module 2</span></a></li>
<li id='mod3'><a href="#jquerytabs1-page-2"><span>Sous-module 3</span></a></li>
<li id='mod4'><a href="#jquerytabs1-page-3"><span>Sous-module 4</span></a></li>
<li id='mod5'><a href="#jquerytabs1-page-4"><span>Sous-module 5</span></a></li>
</ul>





#mod2, #mod3, #mod4, #mod5
{
	display:none;
}
Afficher la suite 

3 réponses

Messages postés
26553
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 octobre 2019
316
0
Merci
Bonjour,

voilà le code que j'ai essayé avec mais ça n'a pas marché !

-En quoi ça n'a pas marché ?
-Quel est le comportement observé ?
-As-tu essayé de mettre des ALERT pour voir si ton script se lance... les valeurs de tes variables...etc..
-As-tu essayé de regarder ce que le debogueur de ton navigateur ( sous fireFox.. firebug... ) pour voir si ça te donnes des messages d'erreur ?
Commenter la réponse de jordane45
Messages postés
26553
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 octobre 2019
316
0
Merci
Tu as oublié :

.style.display

Tu n'as pas mis de quotes (guillemets) autour de none et block

<script type="text/javascript">
function valid(a){        
     var x = (a.value || a.options[a.selectedIndex].value);
    console.log(x)
    for (i=2;i < 6;i++)	{
      document.getElementById('mod'+i).style.display ="none";
    }

    for(i=2; i<=x;i++){
      document.getElementById('mod'+i).style.display ="block";
    }
    
    //La ligne ci-dessous ne sert à rien...
		//x = (a.value || a.options[a.selectedIndex].value);    
}
</script>

Commenter la réponse de jordane45
Messages postés
2
Date d'inscription
lundi 12 mai 2014
Statut
Membre
Dernière intervention
22 mai 2014
0
Merci
merci infiniment jordane45, c'était le ".style" qui manque!!
Commenter la réponse de Ouma.Lou