繁体   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