2

我看到了一些与我的问题类似的帖子并尝试了提供的解决方案,但我仍然遇到 IE8 和 IE9 以及“selectedIndex”的问题。此代码将我的变量answerSubmitted返回为“未定义”:

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>";     

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

4

1 回答 1

-1

这解决了。事实证明这是我在引用所选项目的 ID 时的错误。一位同事解释说 .selectedIndex 仅在“选择”标签中的 ID 正确时才有效(至少在 IE 中)。如果不是,则返回 null,这就是最初发生的情况。现在一切都很好。感谢您的建议。

于 2012-11-09T00:12:33.723 回答