Javascript 单击复选框并单击还原按钮时如何打开Jquery对话框弹出窗口

Javascript 单击复选框并单击还原按钮时如何打开Jquery对话框弹出窗口,javascript,jquery,asp.net,postback,Javascript,Jquery,Asp.net,Postback,我的代码有点像这样: function ShowPopUpRestore() { var returnval = 1; var hddnField = document.getElementById(<%=hdnSelectedRows.ClientID%>"); if (hddnField.value != 0) { returnVal = 0; $('<div></

我的代码有点像这样:

  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;
    }
函数showPopuRestore(){
var=1;
var hddnField=document.getElementById(“);
如果(hddnField.value!=0){
returnVal=0;
$('').appendTo('正文')
.html('
'+'') .对话({ 可调整大小:false, 莫代尔:是的, 标题:“, 身高:150, 宽度:475, 按钮:{ 是:函数(){ ////u doPostBack(mDdlSurgeryListRE.name.); $(此).dialog(“关闭”); }, “否”:函数(){ $(this.dialog('close'); } }, 关闭:功能(事件、用户界面){ $(this.remove(); } }).prev(“.ui对话框标题栏”).css(“背景”、“4E2D1D”); } 返回false; }
假设我的一个数据处于挂起模式,我希望它处于活动模式,因此我尝试通过单击“还原”按钮来还原它。 当我单击复选框并尝试单击“还原”按钮时,弹出窗口中应显示“是”/“否”按钮:

  • 如果单击“是”,则选中的数据将恢复到活动模式
  • 如果单击“否”,则它应保持在挂起模式

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

只需在jQuery中创建以下事件并将它们绑定到调用showPopuRestore()即可,非常简单:

  • 对于还原按钮,创建一个
    单击()
    事件
  • 对于复选框,创建一个
    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>
    
    
    $(函数(){
    $(“#btnRestore”)。单击(函数(){
    showPopuRestore();
    });
    $(“#chkBtn”)。更改(函数(){
    showPopuRestore();
    });
    函数showPopuRestore(){
    var=1;
    var hddnField=document.getElementById(“”);
    如果(hddnField.value!=0){
    returnVal=0;
    $('').appendTo('body').html('
    '+'') .对话({ 可调整大小:false, 莫代尔:是的, 标题:“, 身高:150, 宽度:475, 按钮:{ 是:函数(){ $(此).dialog(“关闭”); 警报(“您单击了是”); }, “否”:函数(){ $(this.dialog('close'); 警报(“您单击了否”); } }, 关闭:功能(事件、用户界面){ $(this.remove(); } }).prev(“.ui对话框标题栏”).css(“背景”、“4E2D1D”); } 返回false; } });
    当我单击“还原”按钮时,弹出窗口会在短时间内出现和消失。它不会等待或允许用户单击“是”/“否”按钮。然后,您的网页中有一些附加逻辑会立即关闭弹出窗口。按原样复制并粘贴我发布的代码,没有额外的逻辑,你会发现它是有效的。然后,一旦它开始慢慢地工作,开始将其余的代码添加回网页。嗨,丹尼斯,我尝试过这样做,但它不起作用。对于这个问题是否有其他解决方案。我得到了答案,因为我的代码中首先缺少返回值。谢谢