簡體   English   中英

使用jQuery對話框時單擊按鈕時始終返回true

[英]Always return true when click on button when use jquery dialog

我正在使用jquery對話框。 當我單擊按鈕時,彈出窗口是打開的,但返回true並執行按鈕的服務器端事件。

我想要當用戶單擊“是”,然后返回true,否則返回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");
                                  return true;
                        },
                        No: function ()
                        {                       
                            $(this).dialog("close");
                                return false;
                        }
                    }

                });             
            }

    <asp:Button ID="btnCancel" runat="server" Text="Cancel Appointment" CssClass="cssbutton"
                                    OnClientClick="return btnCancelClick();" OnClick="btnCancel_Click" />

無法從對話框return

您必須使用回調函數。

$("#dialog-confirm").dialog({
    resizable: false,
    height: 140,
    width: 400,
    modal: true,
    buttons: {
        Yes: function() {
            $(this).dialog("close");
            clickedYes(); //YES CALLBACK
        },
        No: function() {
            $(this).dialog("close");
            clickedNo(); //NO CALLBACK
        }
    }
});

更新您的btnCancelClick方法以始終返回false。 然后在對話框按鈕處理程序中,直接在此處執行回發,而不是返回true或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");
                <%=ClientScript.GetPostBackEventReference(btnCancel, "")%>;
            },
            No: function () {
                $(this).dialog("close");
            }
        }
    });
    return false;
}

這行:

<%=ClientScript.GetPostBackEventReference(btnCancel, "")%>

會將javascript回發調用注冊到您的btnCancelClick方法中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM