【问题标题】:close Jquery Modal popup Datalist button click关闭 Jquery Modal 弹出 Datalist 按钮单击
【发布时间】:2011-05-21 07:08:39
【问题描述】:

我遇到了一个问题,我的用户控件中有一个 jquery 模式弹出窗口,我在单击按钮时显示,用户从数据列表中选择了一些东西,然后我在隐藏字段中返回了父用户控件上的一些值直到这里都很好,但是在单击选择按钮后,我希望 jquery modal 也被关闭 这是我在模态对话框中显示的 div 的一些代码

<asp:UpdatePanel ID="upDatagrabber" runat="server">
<ContentTemplate>
    <table>
        <tr>
            <td>Select Category</td><td><asp:DropDownList ID="ddlTemplateCatagory" 
                runat="server" AutoPostBack="True"></asp:DropDownList></td>
        </tr>
        <tr>
            <td colspan="2">
                <table cellspacing="0" cellpadding="0" border="0" style="float:left;padding:5px;margin:5px;width:200px;display:block;">
                        <tbody>
                            <tr>
                                <asp:DataList ID="dlTemplates" runat="server" RepeatColumns="3" 
                                    RepeatDirection="Horizontal" onitemcommand="dlTemplates_ItemCommand">
                                    <ItemTemplate>
                                        <td style="border-right: gainsboro 1px solid; border-top: gainsboro 1px solid;
                                            border-left: gainsboro 1px solid; border-bottom: gainsboro 1px solid;padding:5px;">
                                            <table><tr><td>
                                            <%# Eval("NewsletterName").ToString()%>
                                            </td></tr>
                                            <tr><td><asp:Button ID="btnSelectNL_Template" Text="Select" runat="server" CssClass="button" CommandArgument='<%# Eval("NewsletterId").ToString()%>' CommandName="Select"/></td></tr>
                                            </table>
                                        </td>
                                    </ItemTemplate>
                                </asp:DataList>
                            </tr>
                        </tbody>
                 </table>
            </td>
        </tr>
    </table>
</ContentTemplate>

在 ItemCommandEvent 中我尝试了以下操作

protected void dlTemplates_ItemCommand(object source, DataListCommandEventArgs e)
    {
        if (e.CommandName == "Select")
        {
            int SelectedNewsletterId = int.Parse(e.CommandArgument.ToString());
            if (NewsletterSelectedHandler!= null)
            {
                                         e.Item.Attributes.Add("onclick","jQuery('#mydialog').dialog('close');");
                NewsletterSelectedHandler(SelectedNewsletterId);
            }
        }
    }

编辑

我在后面的代码中使用了这个弹出窗口

ScriptManager.RegisterClientScriptBlock(this.Page, Page.GetType(), "change", "jQuery('#mydialog').dialog('open');closedialog = 1;jQuery('#mydialog').parent().appendTo(jQuery('form:aspnetForm'));", true);

弹出窗口显示成功,但我无法在单击 datalist 子按钮的按钮上关闭它我尝试了 tugburk 提供的代码我检查了错误控制台也没有错误 关闭代码如下:

<script type="text/javascript">
$(document).ready(function(){

    $('#ctl00_ContentPlaceHolder1_NewsletterWizard1_TemplatePicker1_dlTemplates_ctl00_btnSelectNL_Template').click(function(){

      $('#mydialog').dialog('close');

    });

  });
</script>

任何帮助都将不胜感激 非常感谢提前

【问题讨论】:

    标签: asp.net jquery-ui-dialog datalist itemcommand aspbutton


    【解决方案1】:

    使用以下代码;

      $(document).ready(function(){
    
        $('#<%= btnSelectNL_Template.ClientID %>').click(function(){
    
          $('#id_of_your_dialog_element').dialog('close');
    
        });
    
      });
    

    编辑: 您正在那里对您的按钮 ID 进行硬编码;

    ctl00_ContentPlaceHolder1_NewsletterWizard1_TemplatePicker1_dlTemplates_ctl00_b‌​tnSelectNL_Template

    如果您有多个记录,DataList 将生成多个按钮。为该按钮添加一个类名,并尝试针对它编写代码

    $('.MyButtonClass').click(function(){ 
        $('#mydialog').dialog('close'); 
    });
    

    【讨论】:

    • @Devjosh 但此代码不会执行您的 c# 代码。 dlTemplates_ItemCommand 事件。
    • @tugberk,它不起作用不要担心我的服务器端代码即使在您建议的脚本之后运行良好但模式没有关闭
    • @Devjosh 它应该有。我在网上放了一个样本。说这个:jsfiddle.net/tugberk/Z2EVJ
    • @Devjosh 你把你的对话框元素的 id 放了吗? $('#id_of_your_dialog_element')
    • yupp 我试过这样
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 2021-06-26
    • 1970-01-01
    • 1970-01-01
    • 2020-06-29
    相关资源
    最近更新 更多