当检查是否选择了多选索引IE11时,SCRIPT ERROR 70

时间:2015-07-23 18:03:44

标签: javascript select internet-explorer-11 permission-denied

w /我有一个列出州的县的多重选择:

<select name="SAcounty" id="SAcounty" size="7" class="" multiple  onchange="getcities();" tabindex="47" style="font-size: 10px; color: black">
                        </select>

事件功能getcities在您第一次选择县时完美运行。但是当你换到另一个县我得到了许可被拒绝的错误。

for (var i = 0; i < document.getElementById('SAcounty').length; i++) {

        if (document.getElementById('SAcounty').options[i].selected) {
            k = k + 1;
        }
    }

行上发生错误
    if (document.getElementById('SAcounty').options[i].selected)

在我们在没有comp模式的情况下移动到IE 11之前,这非常有效,但现在我没有改变任何东西来解决这个错误。

似乎问题不会发生,直到&#34;。选择&#34;叫做。我可以将一个变量设置为document.getElementById(&#39; SAcounty&#39;)。options [i]没问题但是只要添加.selected就会出错....错误。

页面包含在一个框架中,但所有功能都包含在同一个框架中,并且不会与任何其他框架发生交互。

任何帮助?

1 个答案:

答案 0 :(得分:0)

我已经创建了这个Stack Snippet,显示了我在执行此操作时看到的内容。

var el = document.getElementById('SAcounty');
el.options[5].selected = true;
for (var i = 0; i < el.options.length; i++) {
  var option = el.options[i];
  if (option.selected) {
    alert(option.text);
  }
}
<select multiple id="SAcounty">
  <option>1</option>
  <option>2</option>
  <option selected>3</option>
  <option>4</option>
  <option>5</option>
  <option>6</option>
</select>

这会在Edge上警告IE11中的“3”,然后是“6”。如果你看到不同的东西,请告诉我......