javascript - 在 Internet Explorer 中向选择添加选项不起作用

标签 javascript html internet-explorer dom browser

问题

如果您通过 JavaScript 添加一个选项到选择,那么一切似乎都很好。

但是如果您有一个通过数据库填写的表格,例如并且预选了该选择中的一个选项 Internet Explorer 失败:始终预选下一个选项。

所有其他浏览器都工作正常。

示例

这是一个工作示例:

var oSelect = document.getElementById('myselect');
var oOption = document.createElement('option');
oOption.text = '- - - my fabulous new option - - -';
oSelect.add(oOption, oSelect[3]);
<select id="myselect">
  <option value="Algeria,DZA">Algeria</option>
  <option value="American Samoa,ASM">American Samoa</option>
  <option value="Andorra,AND">Andorra</option>
  <option selected value="Angola,AGO">Angola</option>
  <option value="Anguilla,AIA">Anguilla</option>
  <option value="Antarctica,ATA">Antarctica</option>
</select>

JSFiddle

这里是 JSFiddle .

问题

你知道为什么 IE 在这里会有不同的 react 吗?

提前致谢!

最佳答案

困难是通过插入“你的神话般的新选择”而引入的。 ;)

如果将其插入为第 5 个条目(oSelect[4]) IE 会保持 html 的选定值“Angola,AGO” 处于选中状态。然而在此条目之前添加一些内容会使事情变得困惑。问题是它会选择条目[3]而不检查“Angola,AGO”是否仍然保持该位置。

编辑/解决方法

通过 JScript 选择也适用于 IE。瞧,它总是需要额外的<3。

var oSelect = document.getElementById('myselect');
var oOption = document.createElement('option');
oOption.text = '- - - my fabulous new option - - -';
oSelect.add(oOption, oSelect[3]);

// oSelect.value = "Angola,AGO";  <-- changed because of comments
oSelect.value = oSelect.options[oSelect.selectedIndex].value;
<select id="myselect">
  <option value="Algeria,DZA">Algeria</option>
  <option value="American Samoa,ASM">American Samoa</option>
  <option value="Andorra,AND">Andorra</option>
  <option selected value="Angola,AGO">Angola</option>
  <option value="Anguilla,AIA">Anguilla</option>
  <option value="Antarctica,ATA">Antarctica</option>
</select>

关于javascript - 在 Internet Explorer 中向选择添加选项不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37189125/

相关文章:

php - Ajax 调用和保护 .js 文件信息

javascript - 在没有 JavaScript 的情况下保留 HTML 选择选项中的空格

html - 100% 宽度 CSS 导航栏菜单

javascript - 在谷歌地图中显示零售商

html - 页面在 Chrome、FF 中工作正常,在 IE 中完全左对齐

html - vmax 单元在 IE 中不工作

javascript - 在 JS-asp.net MVC 中使用@Url.Action

javascript - 按日期而不是时间对 parse.com 查询进行排序,其次按另一个属性排序

javascript - 如何改进我的 "random words cloud"函数?

html - 通过 Excel VBA 使用 JS 登录网站