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

Problems with appear confirm window when closing dialog?

本文关键字:确认 窗口 问题 对话框      更新时间:2023-09-26

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

我想当我按下关闭在右下角,确认窗口弹出。我试图通过这部分代码来修复它,但没有成功:

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});

});

也许我错了,我那样做。知道怎么修吗?

现场演示

您可以尝试使用beforeClose作为确认窗口,如果确认,然后关闭对话框