在Jquery对话框中不会触发下拉列表更改功能

时间:2013-09-09 03:42:52

标签: c# javascript jquery asp.net

我需要根据从Jquery对话框中第一个下拉列表中选择的值,从数据库更新我的第二个下拉列表。

ASPX

<asp:UpdatePanel ID="upnl" OnLoad="upnl_Load" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="dv" style="display: none;" title="Tile">
<table>
    <tr>
        <td>Parent</td>
        <td>
            <asp:DropDownList ID="ddlDialog1" runat="server" /></td>
    </tr>
    <tr>
        <td>Child</td>
        <td>
            <asp:DropDownList ID="ddlDialog2" runat="server" /></td>
    </tr>
</table>
</div >
</ContentTemplate>
</asp:UpdatePanel>

JQuery的

function ShowDialog() {
jQuery(document).ready(function () {
    $("#dv").dialog({
        draggable: true,
        modal: true,
        width: 500,
        height: 400
    });
});
}

jQuery(document).ready(function () {
$("#<%= ddlDialog1.ClientID %>").change(function () {
   //This doesn't fire
    __doPostBack('<%= upnl.ClientID %>', "DialogOnChange");
});
});

这里的问题是, 当我从第一个下拉列表(ddlDialog1)中选择不同的值时,如何更改函数不会触发。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

由于$("#dv").dialog();会更改您的文档。

打开对话框后必须绑定$("#<%= ddlDialog1.ClientID %>")

$("#dv").dialog({ 
  //...,
  open: function(){
    //..bind item in this dialog
  },
});

答案 1 :(得分:0)

这可能会对你有帮助。

$('#ddlDialog1').change(function(){            
        alert(Selected Value : + $('#ddlDialog1').val());    
});​