Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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 关闭对话框时出现确认窗口的问题?_Javascript_Jquery_Modal Dialog_Confirm - Fatal编程技术网

Javascript 关闭对话框时出现确认窗口的问题?

Javascript 关闭对话框时出现确认窗口的问题?,javascript,jquery,modal-dialog,confirm,Javascript,Jquery,Modal Dialog,Confirm,当我将卡添加到输入框时。然后可以双击卡片,弹出对话框。在对话框中,我有两个按钮(保存)和(取消)。当我按下取消按钮时,会弹出确认窗口 我想当我按下右角的“关闭”按钮时,确认窗口弹出。我尝试用这部分代码来修复它,但没有成功: close: function () { $('#dialog-confirm').dialog({ resizable: false, height: 300,

当我将卡添加到输入框时。然后可以双击卡片,弹出对话框。在对话框中,我有两个按钮(保存)和(取消)。当我按下取消按钮时,会弹出确认窗口

我想当我按下右角的“关闭”按钮时,确认窗口弹出。我尝试用这部分代码来修复它,但没有成功:

close: function () {
                $('#dialog-confirm').dialog({
                    resizable: false,
                    height: 300,
                    modal: true,
                    draggable: false,
                    buttons: {
                        YES: function () {
                            $(this).dialog("close");
                            $('#modalDialog').dialog("close");
                        },
                        Cancel: function () {
                            $(this).dialog("close");
                        }
                    }
                });
            } 
问题是当我以这种方式进行操作时,首先关闭对话框窗口,然后弹出确认窗口。我不想那样,但我想要相反的结果

JQuery:

$(function () {
    // Click function to add a card
    var $div = $('<div />').addClass('sortable-div'); 
    $('<label>Title</label><br/>').appendTo($div);              
    $('<input/>', { "type": "text","class":"ctb"}).appendTo($div);
    $('<input/>', { "type": "text","class":"date"}).appendTo($div);
    var cnt =0,$currentTarget;
    $('#AddCardBtn').click(function () {
      var $newDiv = $div.clone(true);
      cnt++;  
      $newDiv.prop("id","div"+cnt);  
      $('#userAddedCard').append($newDiv);
//      alert($('#userAddedCard').find("div.sortable-div").length);        
    });

    // Double click to open Modal Dialog Window
    $('#userAddedCard').dblclick(function (e) {
        $currentTarget = $(e.target);

        $('#modalDialog').dialog({
            modal: true,
            height: 600,
            width: 500,
            position: 'center',
            buttons: {
                Save: function () { //submit

                    var val = $("#customTextBox").val();
                    $currentTarget.find(".ctb").val(val);
                    $currentTarget.find(".date").val($("#datepicker").val());
                    $('#modalDialog').dialog("close");

                },
                Cancel: function () { //cancel

                $('#dialog-confirm').dialog({
                resizable: false,
                height: 300,
                modal: true,
                draggable: false,
                buttons: {
                    YES: function () {
                        $(this).dialog("close");
                        $('#modalDialog').dialog("close");
                    },
                    Cancel: function () {
                        $(this).dialog("close");
                    }
                }
            });

                }

            },
            close: function () {
                $('#dialog-confirm').dialog({
                    resizable: false,
                    height: 300,
                    modal: true,
                    draggable: false,
                    buttons: {
                        YES: function () {
                            $(this).dialog("close");
                            $('#modalDialog').dialog("close");
                        },
                        Cancel: function () {
                            $(this).dialog("close");
                        }
                    }
                });
            }
        });

    });

    $("#datepicker").datepicker({showWeek:true, firstDay:1});


});
$(函数(){
//单击“功能”添加卡
var$div=$('').addClass('sortable-div');
$('Title
')。附录($div); $('',{“type”:“text”,“class”:“ctb”}); $('',{“类型”:“文本”,“类”:“日期”}); var cnt=0,$currentTarget; $('#AddCardBtn')。单击(函数(){ var$newDiv=$div.clone(true); cnt++; $newDiv.prop(“id”、“div”+cnt); $('#userAddedCard')。追加($newDiv); //警报($('userAddedCard').find(“div.sortable-div”).length); }); //双击打开模态对话框窗口 $('#userAddedCard').dblclick(函数(e){ $currentTarget=$(e.target); $('modalDialog')。对话框({ 莫代尔:是的, 身高:600, 宽度:500, 位置:'中间', 按钮:{ 保存:函数(){//submit var val=$(“#customTextBox”).val(); $currentTarget.find(“.ctb”).val(val); $currentTarget.find(“.date”).val($(“#日期选择器”).val()); $('modalDialog')。对话框(“关闭”); }, Cancel:function(){//Cancel $(“#对话框确认”)。对话框({ 可调整大小:false, 身高:300, 莫代尔:是的, 可拖动:错误, 按钮:{ 是:函数(){ $(此).dialog(“关闭”); $('modalDialog')。对话框(“关闭”); }, 取消:函数(){ $(此).dialog(“关闭”); } } }); } }, 关闭:函数(){ $(“#对话框确认”)。对话框({ 可调整大小:false, 身高:300, 莫代尔:是的, 可拖动:错误, 按钮:{ 是:函数(){ $(此).dialog(“关闭”); $('modalDialog')。对话框(“关闭”); }, 取消:函数(){ $(此).dialog(“关闭”); } } }); } }); }); $(“#datepicker”).datepicker({showWeek:true,firstDay:1}); });
也许我错了,我现在这样做。知道怎么修吗

您可以尝试在确认窗口中使用,如果确认,则关闭对话框。

我尝试在中执行此操作,虽然代码不是很好,但可以工作。我所做的只是将您的
close
更改为
beforeClose
,并在其中
返回false
。如果单击“是”按钮,则尝试跟踪数据中的状态。