我有一个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无法识别回发后发生的变化。
答案 0 :(得分:0)
我发现了这背后的原因,我发布它以防其他人面临同样的问题。
我将我的代码放在用户控件中,并且javascript函数位于同一个用户控件中,因此页面中有相同功能的不同副本(页面中使用用户控件的数量相同)。
所以我从用户控件中删除了这些函数并将其放在页面中,所以现在只有该函数的一个副本。并将下拉列表控件的ID作为参数传递给函数。