2011-12-03 50 views
1

爲什麼這個簡單的Javascript函數在Internet Explorer版本8中不起作用。 爲什麼在Internet Explorer中myvalue爲空。IE:javascript onchange函數獲取空值

javascript debug myvalue== 

這在Chrome/Firefox中正常工作,並正確顯示選定的值。

javascript debug myvalue=Item2= 

代碼

<html> 
<script type="text/javascript"> 
function showValue(myvalue) 
{ 
    document.write("javascript debug myvalue=" + myvalue + "=\n"); 
} 
</script> 

<body> 

<select id="items" onchange="showValue(this.value);"> 
<option>Item1</option> 
<option>Item2</option> 
<option>Item3</option> 
</select> 

</body> 
</html> 

回答

2

那是因爲你沒有值的選項。像這樣將工作:

<option value="VALUE1">TEXT1</option> 

但是,如果你確實需要選項的文本,而不是價值,你應該這樣做:

var e = document.getElementById("items"); 
var txt = e.options[e.selectedIndex].text; 

參考HTMLOptionElement DOM spec有關選項的更多信息。

+0

正確 - 可能是他想要的,如果實際上是選項元素的文本。 – mozillanerd

+0

我們可能永遠都不會知道 –

+0

@ʘleg這個工程。 –

0

如果你想使用this.value而不是this.value,它可能在IE8中工作(我沒有)。