如何在jquery确认对话框中使用回调

how to use call back in jquery confirm dialog

本文关键字:回调 对话框 确认 jquery      更新时间:2023-09-26

Javascript代码

  function btnCancelClick()
                {
                    $("#dialog:ui-dialog").dialog("destroy");
                    $("#dialog-confirm").dialog({
                        resizable: false,
                        height: 140,
                        width: 400,
                        modal: true,
                        buttons: {
                            "Yes": function ()
                            {                       
                                $(this).dialog("close");
                                      //Yes callback
                            },
                            No: function ()
                            {                       
                                $(this).dialog("close");
                                    //No callback
                            }
                        }
                    });             
                }

Aspx代码

 <div class="demo">
        <div id="dialog-confirm" title="Do you want to cancel the appointment?">
        </div>
    </div>
     <asp:Button ID="btnCancel" runat="server" Text="Cancel" CssClass="cssbutton"
                                        OnClientClick="return btnCancelClick();" OnClick="btnCancel_Server_Click" />
<asp:UpdatePanel ID="updatePanelTable" runat="server">
                        <ContentTemplate>
.
.
.
</ContentTemplate>
<Triggers>
                            <asp:AsyncPostBackTrigger ControlID="btnCancel" EventName="Click" />
                        </Triggers>
                    </asp:UpdatePanel>

服务器端代码:

protected void btnCancel_Server_Click(object sender, EventArgs e)
    {
        //Server side code.
    }

我使用jquery对话框来显示确认框。当点击按钮时,它总是触发按钮的服务器端事件。我必须在单击"是"时激发服务器端事件。如果我单击"否",则返回false。我在谷歌上搜索了一下,他们告诉我使用回拨,因为我不知道如何在这种情况下使用回拨。

由于每当用户回答"是"或"否"时都可以进行回调,因此您可以使用以下内容:

function btnCancelClick()
{
    $("#dialog:ui-dialog").dialog("destroy");
    $("#dialog-confirm").dialog({
        resizable: false,
        height: 140,
        width: 400,
        modal: true,
        buttons: {
           "Yes": function ()
           {                       
               $(this).dialog("close");
               //Yes callback
               callback();
           },
           No: function ()
           {                       
               $(this).dialog("close");
               //No callback
               callback();
           }
       }
   });
   function callback() {
       // whatever needs to be done once the user choose Yes or No
   }
}