2011-05-31 152 views
0

以下代码完美适用于Firefox,但不适用于IE或Chrome ......任何想法为什么?OnClick Dropdown适用于FireFox,但不适用于Chrome或IE?

<script type="text/javascript"> 
function display_div(show){ 
    document.getElementById('passenger1').style.display = "none"; 
    document.getElementById('passenger2').style.display = "none"; 
    document.getElementById('passenger3').style.display = "none"; 
    document.getElementById(show).style.display = "block"; 
} 
</script> 

<select name="#" id="#"> 
     <option selected="selected"> </option> 
     <option onClick="display_div('passenger1');">1</option> 
     <option onClick="display_div('passenger2');">2</option> 
     <option onClick="display_div('passenger3');">3</option> 
</select> 

<div id="passenger1" style="display:none;"> hey, 1 works </div> 
<div id="passenger2" style="display:none;"> hey, 2 works </div> 
<div id="passenger3" style="display:none;"> hey, 3 works </div> 

回答

1

移动onChange function

http://jsfiddle.net/WmEAp/

+0

谢谢!这也是一个很棒的网站 – Mike 2011-05-31 22:09:43

+0

不幸的是,这意味着如果您选择相同的选项,您的JavaScript调用将不会再次关闭。任何人都知道这个好的解决方法? – DShook 2012-03-05 19:48:50

1

招 “的onClick” 从选项选择元素

<select onchange="this(this.selectedIndex)"> 
    <option value="passenger1">1</option> 
0

的onclick上的选择是不是一个有效的点击处理程序。改为在选择上使用onchange。

0

IE和Chrome无法识别select的选项元素上的事件。您可以删除选项中的onclick事件,并将以下onchange事件添加到您选择的元素,以使其与您当前的代码一起工作:

onchange="display_div('passenger' + this.value);" 
相关问题