2011-05-31 264 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);" 
相關問題