Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jquery确认对话框中使用回调_Javascript_Jquery_Asp.net_Ajax - Fatal编程技术网

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

Javascript 如何在jquery确认对话框中使用回调,javascript,jquery,asp.net,ajax,Javascript,Jquery,Asp.net,Ajax,Javascript代码 function btnCancelClick() { $("#dialog:ui-dialog").dialog("destroy"); $("#dialog-confirm").dialog({ resizable: false, height: 140,

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>

我使用jquery对话框显示确认框。当点击按钮时,它总是触发按钮的服务器端事件。如果我点击否,我必须在点击是时触发服务器端事件,然后返回false。我在谷歌上搜索过,他们告诉我使用callback,因为我不知道如何在这类东西中使用callback。

因为用户回答“是”或“否”时,你可以有一个回调,你可以有这样的东西:

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
   }
}

为什么不在“#dialog confirm”中输入Buton?单击“是”我必须返回true并调用服务器端事件,单击“否”我必须使返回为false,但返回在jquery对话框中不起作用因为当前动画没有100%完成,所以每次都会首先执行端事件。
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
   }
}