【问题标题】:ASP Javascript Add Option to Select Element in Javascript Can't Work in Internet ExplorerASP Javascript 添加选项以在 Javascript 中选择元素无法在 Internet Explorer 中工作
【发布时间】:2017-07-08 12:24:20
【问题描述】:

我在主页中有一个 ASP 下拉列表。当我单击一个按钮时,会出现一个带有列表数据的弹出窗口。当我单击一行时,我会从表格行中提取必要的值,并将其设置为主页中的下拉菜单。

//This chunk of code is the action when user click the table row in the Pop Up.

//Access the Drop Down element from Main Page from this Pop Up Page
var InternalOrderDDL = window.opener.document.getElementById("ctl00_MainContent_InternalOrderDDL" + rowID);

//Clear all item in this Drop Down
InternalOrderDDL.options.length = 0;

//Add elements to this Drop Down
AddOption("--", "", InternalOrderDDL);
AddOption(text, value, InternalOrderDDL);

function AddOption(text, value, element) {
     var option = document.createElement("option");
     element.options.add(option); // Google Chrome works very well but IE has an error "Unspecified error" when hit this line.

     option.value = value;
     option.innerHTML = text;
}

基本上,在 Google Chrome 中一切正常,但 Internet Explorer 存在此问题。

是弹窗的原因吗?

【问题讨论】:

    标签: javascript c# html asp.net internet-explorer


    【解决方案1】:
    function AddOption(text, value, element) {
         var option = document.createElement("option");
         option.value = value;
         option.innerHTML = text;
         element.options.add(option);     
    }
    

    【讨论】:

    • 请补充说明
    • 空选项被写在 dom 中作为自动关闭。例如。 。 MS 浏览器无法为其创建 innerHTML 值,因为它被编写为自关闭。因此,为了实现互操作性,请遵循设计模式。创建元素,设置它的一些属性和属性,然后将其附加到容器元素/部分。不创建元素。将它附加到容器中,设置它的一些属性和属性。
    • 谢谢,这是一个非常好的解释,我最初的意思是更新答案以包含此信息,以便它变得更加完整和清晰。
    猜你喜欢
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    • 2018-07-23
    • 2018-08-16
    • 2011-01-11
    • 1970-01-01
    • 2015-03-27
    • 1970-01-01
    相关资源
    最近更新 更多