IE:Javascript onchange函数获取空值

时间:2011-12-03 23:06:22

标签: javascript html internet-explorer

为什么这个简单的Javascript功能在Internet Explorer版本8中不起作用。 为什么Internet Explorer中myvalue为空。

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 个答案:

答案 0 :(得分:2)

那是因为您的选项中没有VALUES。这样的事情会起作用:

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

但是,如果你真的需要选项的TEXT而不是VALUE,你应该使用它:

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

有关选项的更多信息,请参阅HTMLOptionElement DOM spec

答案 1 :(得分:0)

如果你要使用而不是this.value,this.options [this.selectedIndex],它可能在IE8中工作(我没有)。