我正在使用 jquery ui 对话框,并且我已经对其进行了设置,以便它具有一个文本框和一个按钮。您基本上在文本框中输入一些内容并单击按钮,它会从数据库中提取一些值并加载单选按钮列表。HTML 标记如下所示:
<div id="dialog" title="Select Address">
<asp:UpdatePanel ID="upNewUpdatePanel" UpdateMode="Conditional" ChildrenAsTriggers="true" runat="server">
<ContentTemplate>
<div id="search" style="width:100%; text-align:center;">
<asp:TextBox ID="txtFindSearch" runat="server"></asp:TextBox>
<asp:Button ID="btnFindSearch" runat="server" Text="Search"
onclick="btnFindSearch_Click" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>
<div id="searchresults" style="width:100%;">
<asp:RadioButtonList ID="rbSearchResults" runat="server" AutoPostBack="True"
CellSpacing="10" RepeatColumns="4" RepeatDirection="Horizontal"
ToolTip="Select an address."
onselectedindexchanged="rbSearchResults_SelectedIndexChanged">
</asp:RadioButtonList>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
在后面的代码中,我可以像这样获得选定的值:
protected void rbSearchResults_SelectedIndexChanged(object sender, EventArgs e)
{
Label1.Text = rbSearchResults.SelectedValue.ToString();
}
我的问题是从单选按钮列表中进行选择后,我不知道如何关闭 jquery 对话框。我试图在 jquery 中做这样的事情:
$('#MainContent_rbSearchResults input').click(function () {
$('#dialog').hide();
});
即使我在那里发出警报,它也不会显示警报。如果我查看页面源代码,我看到了 div 容器,但没有看到单选按钮列表,可能是因为它包含在更新面板中吗?
获得值后如何关闭 jquery ui 对话框(单击单选按钮列表)?
编辑
我试过这个:
protected void rbSearchResults_SelectedIndexChanged(object sender, EventArgs e)
{
Label1.Text = rbSearchResults.SelectedValue.ToString();
this.txtShipToName.Text = Label1.Text;
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "closedialog", "$(function(){$('#dialog').dialog('close');});", true);
}
这会关闭对话框,但是我的文本框 txtShipToName 永远不会获得值。即使我单步调试,我也会看到分配给它的值。