【问题标题】:How to open a Jquery Dialog popup when checkbox is clicked and restore button is clicked单击复选框并单击恢复按钮时如何打开Jquery对话框弹出窗口
【发布时间】:2016-12-06 03:54:44
【问题描述】:

我的代码有点像这样:

  function ShowPopUpRestore() {
        var returnval = 1;
        var hddnField = document.getElementById(<%=hdnSelectedRows.ClientID%>");
        if (hddnField.value != 0) {
            returnVal = 0;
           $('<div></div>').appendTo('body')
                                .html('<div><align="left"> </br>' + '<%= this.GetMessage("Msg1595")%>' + '</h6></div>')
                                .dialog({
                                    resizable: false,
                                    modal: true,
                                    title: "",
                                    height: 150,
                                    width: 475,
                                    buttons: {
                                        Yes: function () {
                                           // //__doPostBack(mDdlSurgeryListRE.name, '');

                                            $(this).dialog("close");
                                        },
                                        "No": function () {                                         

                                            $(this).dialog('close');
                                        }
                                    },
                                    close: function (event, ui) {
                                        $(this).remove();
                                    }
                                }).prev(".ui-dialog-titlebar").css("background", "#4E2D1D");
                            }                            
                    return false;
    }

假设我的一个数据处于暂停模式,我希望它处于活动模式,所以我试图通过单击恢复按钮来恢复它。 当我单击复选框并尝试单击恢复按钮时,应该会弹出一个带有“是”/“否”按钮的弹出窗口:

  • 如果我单击“是”,则检查的数据将恢复到活动模式。
  • 如果我点击“否”,那么它应该保持暂停模式。

它可以对多个复选框(数据)有效。谢谢。

【问题讨论】:

    标签: javascript jquery asp.net postback


    【解决方案1】:

    真的很简单,只需在 jQuery 中创建以下事件并绑定它们以调用 ShowPopUpRestore():

    1. 为恢复按钮创建一个click() 事件。
    2. 为复选框创建一个change() 事件。

    完整示例:

    <head runat="server">
        <title></title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
        <script src="http://code.jquery.com/ui/1.11.1/jquery-ui.min.js"></script>
        <link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css" rel="stylesheet">
        <script type="text/javascript">
            $(function () {
    
                $("#btnRestore").click(function () {
                    ShowPopUpRestore();
                });
    
                $("#chkBtn").change(function () {
                    ShowPopUpRestore();
                });
    
                function ShowPopUpRestore() {
                    var returnval = 1;
                    var hddnField = document.getElementById("<%=hdnSelectedRows.ClientID%>");
                    if (hddnField.value != 0) {
                        returnVal = 0;
                        $('<div></div>').appendTo('body').html('<div><align="left"></br>' + '<%= this.GetMessage("Msg1595")%>' + '</h6></div>')
                                        .dialog({
                                            resizable: false,
                                            modal: true,
                                            title: "",
                                            height: 150,
                                            width: 475,
                                            buttons: {
                                                Yes: function () {
                                                    $(this).dialog("close");
                                                    alert('You clicked YES');
                                                },
                                                "No": function () {
                                                    $(this).dialog('close');
                                                    alert('You clicked NO');
                                                }
                                            },
                                            close: function (event, ui) {
                                                $(this).remove();
                                            }
                                        }).prev(".ui-dialog-titlebar").css("background", "#4E2D1D");
                    }
                    return false;
                }
            });
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <input type="button" id="btnRestore" value="Restore" />
            <input type="checkbox" id="chkBtn" value="Check box" />
            <asp:HiddenField ID="hdnSelectedRows" runat="server" Value="1" />
        </form>
    </body>
    

    【讨论】:

    • 当我点击恢复按钮时,弹出来了又去。它没有等待或允许用户点击“是”/“否”按钮。
    • 然后你的网页中有一些额外的逻辑会立即关闭弹出窗口。复制并粘贴我发布的代码,没有额外的逻辑,你会看到它有效。然后一旦它慢慢工作开始将其余代码添加回网页
    • 嗨丹尼斯,我试过这样做,但它不起作用。有没有其他解决方案可以解决这个问题。
    • 我得到了答案,因为我首先在我的代码中缺少返回值。谢谢
    猜你喜欢
    • 2015-05-16
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    • 2018-12-18
    • 1970-01-01
    • 2017-10-13
    • 1970-01-01
    相关资源
    最近更新 更多