【问题标题】:JavaScript can't get the drop down selected index in a ModalPopupExtenderJavaScript 无法在 ModalPopupExtender 中获取下拉选定索引
【发布时间】:2012-12-30 09:45:08
【问题描述】:

我有一个 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") always = 0,我认为javascript无法识别回发后发生的变化。

【问题讨论】:

  • 您是否尝试过将 onchange 函数设置为下拉菜单并使用 javascript 获取索引?
  • 我的场景不同,有4个下拉列表,每个下拉列表根据父列表的选择填充,当用户选择最后一个并单击按钮时调用JS函数并获取每个列表的选定索引,因此在这种情况下 onchange 将无济于事。
  • 好的,您能否发布 js 函数并解释该函数中的问题(哪一行代码)。这将帮助我找出问题....
  • 我编辑了主要问题并添加了所需的功能

标签: c# asp.net ajaxcontroltoolkit modalpopupextender


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多