动态设置“在 IE 上选择”的选项
Dynamically set the OPTIONS for Select on IE
>我使用从 Ajax 调用获得的数据设置了几乎 10+ 选择控件;以下是我的代码:
function arrayToOptionList(list) {
var optList = [];
for (i = 0; i < list.length; i++) {
optList.push("<option value ='" + list[i][1] + "' >" + list[i][0] + "</option>");
}
return optList.join("");
}
opt = arrayToOptionList(list);
$("select_ctrl_id").update(opt);
我知道IE在dom操作方面存在重大问题。经过几次谷歌搜索,我已经针对IE优化了我的代码。设置选择控件时,我的IE仍然有一段时间没有响应。你们能建议我还能做些什么来改善这个问题吗?
我正在使用原型.js来设置选择控件,并且在IE 8/9上遇到了问题
根据我的经验,使用 innerHTML
最适合 IE,因此请尝试将其与普通的 DOM 脚本结合使用:
document.querySelector('#select_ctrl_id').innerHTML = opt.join('');
JSFiddle
尝试使用原型提供的内置方法 - 例如
var select = $("select_ctrl_id").clone();
list.each(function(i){
select.insert(new Element('option',{'value':i[1]}).update(i[0]));
});
$("select_ctrl_id").replace(select);
这将创建 select DOM 元素的副本,并在选择中插入所有选项,然后替换选择。
尝试旧时尚的方式 http://www.w3schools.com/jsref/met_select_add.asp
var x=document.getElementById("mySelect");
var option=document.createElement("option");
option.text="Kiwi";
try
{
// for IE earlier than version 8
x.add(option,x.options[null]);
}
catch (e)
{
x.add(option,null);
}
相关文章:
- CKeditor:更改对话框中的默认选择选项
- 如何在从多选下拉列表中选择选项值时动态生成文本框
- AngularJs列表ng单击以选择选项转换
- 使用基于文本的 Jquery 选择选项
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 在php和mysql中选择选项.一旦选择了选项,就列出我的sql数据库数据
- 选择选项时如何显示警报
- 使用php动态更改选择选项
- 选择“选择选项”时显示文本.怎么做
- LEAFLET地图和带有选择选项的标记-ANGULARjs
- 使用js将动态内容添加到选择选项列表中
- 用于使用javascript循环选择选项
- AngularJS-选择选项并在函数中使用它
- 禁用/启用基于单选/选择选项所选Javascript的文本框
- 如何使用jQuery隐藏与选择选项相关的选择选项列表
- 选择选项是添加或删除事件
- 使用jQuery向“选择选项”添加默认属性
- 构建HTML选择字段并使用JavaScript数组选择选项
- 带有动态选择选项的Firefox html5验证异常
- 只有当Angular从资源对象检索数据时,才选择选项元素