OnClick Dropdown适用于FireFox但不适用于Chrome或IE?

时间:2011-05-31 21:53:30

标签: javascript drop-down-menu cross-browser

以下代码在Firefox中完美运行,但不适用于IE或Chrome ...任何想法为什么?

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

4 个答案:

答案 0 :(得分:1)

将“onClick”从选项移动到选择元素

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

答案 1 :(得分:1)

移动onChange function

http://jsfiddle.net/WmEAp/

答案 2 :(得分:0)

onclick on选项不是有效的点击处理程序。改为在select上使用onchange。

答案 3 :(得分:0)

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

onchange="display_div('passenger' + this.value);"