在IE中,selectedIndex未定义

时间:2012-11-06 17:49:22

标签: javascript internet-explorer selectedindex

我看到一些与我的问题类似的帖子,并尝试了所提供的解决方案,但我仍然遇到IE8&问题。 IE9和'selectedIndex'。此代码将我的变量 answerSubmitted 作为'undefined'返回:

var answerSubmitted = document.getElementById("DropDown-Answers").selectedIndex;

以上内容适用于所有其他浏览器。根据这里的另一篇文章,我也尝试了这个:

var answerSubmitted = document.getElementById("DropDown-Answers").value;

仍然是相同的结果 - 在别处工作,但在IE8或IE9中没有。我已经验证IE正在通过其ID识别该特定元素。

这里有什么指导吗?

更多信息: 我通过循环并在选项和/选项标签之间添加变量文本来动态创建下拉菜单,如下所示(请注意'tempRandom'是每次循环时更新的随机数):

tempMenuText = tempMenuText + "<option>" + Answers[tempRandom] + "</option>";     

结果被select标签包围,然后我更新了我的元素的innerHTML。这可以工作并生成一个工作下拉菜单。但是......也许这是一个线索:当我将菜单元素的innerHTML测试放入另一个元素来查看它时,它显示为空。就好像IE没有看到元素中有HTML,认为它是null,因此'selectedIndex'失败为null。

1 个答案:

答案 0 :(得分:0)

这已经解决了。事实证明,这是我在引用所选项目的ID方面的错误。一位员工解释说,当'select'标签内的ID正确时,.selectedIndex只能起作用(至少在IE中)。如果没有,它返回null,这是最初发生的。一切都很好。谢谢你的建议。