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就会出错....错误。
页面包含在一个框架中,但所有功能都包含在同一个框架中,并且不会与任何其他框架发生交互。
任何帮助?
答案 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”。如果你看到不同的东西,请告诉我......