2010-02-19 75 views
3

我有一个选择列表:HTML JavaScript的选择操作

<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> 

当我选择值“0”的东西必须是可见的,这是工作在Firefox,但无法在Internet Explorer。即使一个警报函数与IE浏览器不工作,有没有人知道这件事?

+0

了解你自己的问题,并假装这就是你拥有的信息。现在,你能帮助你吗?包括一些hte代码可能会有所帮助。 – Erik 2010-02-19 23:23:38

回答

7

你真的这样的逻辑或许应该绑定的选择本身onchange事件,而不是个别选项单击事件:

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

这样当我们将其绑定,我们并不需要混合我们的HTML和我们的Javascript。我们的HTML可以看看什么如下简单:

<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> 

在线演示:http://jsbin.com/ijogi

+0

@Stefan:记住要尽量让你的Javascript尽可能远离你的HTML :) – Sampson 2010-02-19 23:37:26

+0

这仍然不能在Internet Explorer中工作.... – stefan 2010-02-19 23:40:15

+0

@stefan:将'this.value'改为'this.selectedIndex' 。 – Sampson 2010-02-20 00:46:15