首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何正确清除和添加选项以使用Internet Explorer?

如何正确清除和添加选项以使用Internet Explorer?
EN

Stack Overflow用户
提问于 2010-12-08 09:20:03
回答 4查看 882关注 0票数 0

大家好,最近我遇到了一个问题。我无法使用下面的代码将选项添加到选择框中,也无法在IE中清除它们。下面的代码有什么问题吗?

代码语言:javascript
运行
复制
        blockSelect.innerHTML = '<option></option>';
        for (var i in data.DATA) {
            console.log(data);
            var option = dojo.create('option', { value: data.DATA[i][0] }, blockSelect);
            option.label = data.DATA[i][0];
        }

我真的不知道为什么这在IE中不起作用。

谢谢

EN

回答 4

Stack Overflow用户

发布于 2010-12-08 09:59:48

在我的生活中从来没有写过dojo,但这里是一个尝试。我有几点建议

代码语言:javascript
运行
复制
blockSelect.innerHTML = '<option></option>';
console.log(data);
for (var i in data.DATA) {
  var item = data.DATA[i];
  dojo.create('option',
        {
           value: item[0],
           label: item[0], // do you mean to set the innerHTML?
           innerHTML: item[0]
        },
        blockSelect);
}
票数 2
EN

Stack Overflow用户

发布于 2010-12-08 17:26:02

使用选择列表的options属性。可以通过将length属性设置为0来清除它,还可以通过将新的Option对象分配为options集合的最后一个元素来添加新选项:

代码语言:javascript
运行
复制
var opts = blockSelect.options;
opts.length = 0;
for (var i in data.DATA) {
    console.log(data);
    opts[opts.length] = new Option(data.DATA[i][0], data.DATA[i][0]);
}

这在所有主流浏览器中都有效。

票数 2
EN

Stack Overflow用户

发布于 2010-12-08 10:16:09

我不确定如何使用Dojo回答您的问题,但我怀疑您的问题可能与使用innerHTMLoption标签的IE中长期存在的问题有关。我认为解决方案是将选项元素附加到父元素,而不是尝试设置innerHTML。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4383347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档