2010-02-19 41 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