2010-02-19 3 views
3

Je suis une liste de sélection:HTML javascript Sélectionner une action

<select> 
<option value="0" onclick="anders('1')">Anders</option> 
<option value="200" onclick="anders('');" selected="selected">&#8364; 200,-</option> 
<option value="300" onclick="anders('')">&#8364; 300,-</option> 
<option value="400" onclick="anders('')">&#8364; 400,-</option> 
<option value="500" onclick="anders('')">&#8364; 500,-</option> 
</select> 

Lorsque je sélectionne la valeur « 0 » quelque chose doit être visible, cela fonctionne dans Firefox, mais pas dans Internet Explorer. Même une fonction d'alerte avec onclick ne fonctionne pas dans IE, est-ce que quelqu'un sait quelque chose pour cela?

+0

Lisez votre propre question et faire semblant que ce TOUTES les informations dont vous disposez. Maintenant, pourriez-vous vous aider? Y compris une partie du code hte peut être utile. – Erik

Répondre

7

Vous devriez vraiment lier probablement cette logique à l'événement onchange du sélectionner lui-même, et non l'événement de clic des options individuelles:

var myDiv = document.getElementById("myDiv"); 
document.getElementById("mySelect").onchange = function(){ 
    myDiv.style.display = (this.selectedIndex == 0) ? "block" : "none"; 
} 

Quand on lie cette façon, on n'a pas besoin de mélangez notre HTML et notre Javascript. Notre HTML peut regarder aussi simple que ce qui suit:

<select id="mySelect" name="values"> 
    <option>0</option> 
    <option>1</option> 
    <option>2</option> 
</select> 
<div id="myDiv"> 
    <p>Select 0 to show me, otherwise I'm invisible!</p> 
</div> 

Démo en ligne: http://jsbin.com/ijogi

+0

@Stefan: N'oubliez pas d'essayer de garder votre Javascript aussi loin que possible de votre HTML :) – Sampson

+0

Cela ne fonctionne toujours pas dans Internet Explorer .... – stefan

+0

@stefan: Change 'this.value' en' this.selectedIndex' . – Sampson

Questions connexes