gpt4 book ai didi

javascript - 如何强制 Internet Explorer 刷新 HTML 选择元素的选项列表?

转载 作者:行者123 更新时间:2023-11-30 18:12:30 25 4
gpt4 key购买 nike

我正在使用 jQuery 以编程方式更改 select 元素的 option 子元素。

更改正在应用于 DOM,但在屏幕上不可见。

这是我在屏幕上得到的:

Combo box with 4 options

这是我在检查 select 元素时看到的:

Html select with 5 option children

这是我用来更新 select 元素的代码:

    select.empty();
$.each(this.entries, function() {
var option = $$("<option/>");
option.attr("value", this.value);
option.text(this.label);
select.append(option);
});

这对我来说显然是个错误。谁能告诉我这有什么问题或指出解决方法?

注意:由于我无法控制的原因,该页面处于怪癖模式。

最佳答案

SelectElement 的文档在这里:https://developer.mozilla.org/en-US/docs/DOM/HTMLSelectElement

您可以像这样添加选项:

$("#sel")[0].options.add(new Option("test", "123")); //haven't tested all browsers

文档说您在 select 元素本身上调用 add,传入一个选项节点:

$("#sel")[0].add($("<option>").val("456").prop("text", "Test2")[0], null);

都在 IE8 中测试(和工作)在这里:http://jsfiddle.net/82gCq/2/

注意HTMLOptionsCollection 的文档没有指定 add 方法,所以它不是标准化的,它的实现将留给浏览器(如果他们实现它完全没有)。

好消息是 $("#sel")[0].add(new Option("test3", "789")); 在 IE8 中工作,并且应该在其他工作浏览器也是如此。

关于javascript - 如何强制 Internet Explorer 刷新 HTML 选择元素的选项列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14224374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com