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
。如果单击“是”按钮,则尝试跟踪数据中的状态。