2011-12-03 5 views
1

Internet Explorerバージョン8でこの単純なJavascript関数が機能しない理由 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> 

しかし、あなたが実際にオプションのTEXTなくVALUEが必要な場合、あなたがこれを使用する必要があります。

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

は、オプションの詳細はHTMLOptionElement DOM specを参照してください。

+0

修正 - 実際にoptions要素のテキストであれば、彼が望むことができます。 – mozillanerd

+0

私たちはおそらくこれを知りません –

+0

@ʘlegこれは動作します。 –

0

this.valueの代わりにthis.options [this.selectedIndex]を使用すると、IE8で動作する可能性があります(私にはありません)。

関連する問題