JavaScript无法在ModalPopupExtender中获取下拉所选索引

本文关键字:索引 获取 ModalPopupExtender JavaScript | 更新日期: 2023-09-27 17:50:21

我有一个ModalPopupExtender与多个下拉列表在一个UpdatePanel,我使用JavaScript打开一个页面,并在查询字符串中传递参数。

下拉列表选择的索引总是设置为0 (ModalPopupExtender启动时的初始值)。

帮忙吗?

JS函数
function openInterfacePage() {
    var url = "Interface.aspx?";
    if ($('#<%= DDLPOP.ClientID %>').prop("selectedIndex") > 0) {
        url += "pop=" + $('#<%= DDLPOP.ClientID %> option:selected').val().trim();
    }
    if ($('#<%= DDLDevicePOPUP.ClientID %>').prop("selectedIndex") > 0) {
        url += "&device=" + $('#<%= DDLDevicePOPUP.ClientID %> option:selected').val().trim();
    }
    if ($('#<%= DDLDeviceInterface.ClientID %>').prop("selectedIndex") > 0) {
        url += "&interface=" + $('#<%= DDLDeviceInterface.ClientID %> option:selected').val().trim();
    }
    window.open(url, "mywindow", "toolbar=0,titlebar=0,status=0,resizable=0,menubar=0,location=1, width=920,height=500");
}

prop("selectedIndex")总是= 0,我认为javascript不识别回发后发生的变化

JavaScript无法在ModalPopupExtender中获取下拉所选索引

我发现了这背后的原因,我把它贴出来,以防其他人面临同样的问题。

我把我的代码放在用户控件中,javascript函数在同一个用户控件中,所以页面中有相同函数的不同副本(在页面中使用用户控件的次数相同)。

因此,我从用户控件中删除了函数并将其放在页面中,因此现在该函数只有一个副本。并将下拉列表控件的id作为参数传递给函数。