我有以下简单的对话框:
function confirmDialog(message, title) {
var returnvalue;
if ($("#confirmDialog").length == 0)
$('body').append('<div id="confirmDialog"></div>');
var dlg = $("#confirmDialog")
.html(message)
.dialog({
autoOpen: false,
minHeight: 50,
title: title,
show: {
effect: "explode",
duration: 250
},
hide: {
effect: "explode",
duration: 250
},
buttons: {
"OK": {
text: "OK",
class: "",
click: function () { returnvalue = true; $("#confirmDialog").dialog("close"); }
},
"Cancel": {
text: "Cancel",
class: "",
click: function () { returnvalue = false; $("#confirmDialog").dialog("close"); }
}
},
modal: true
});
$('#confirmDialog').dialog("open");
return returnvalue;
}
非常简单的实现。我的问题是,当我运行脚本时,最后,当它返回变量时returnvalue
,undefined
意味着它没有将其设置为true
或者false
取决于单击了哪个按钮。
我尝试将其设置为,var returnvalue = false;
但无论我单击哪个按钮,它都不会获得不同的值。
任何帮助表示赞赏!谢谢!
编辑:
我相信我注意到了为什么没有设置变量。我click
从另一个对话框的事件中调用此对话框,在用户单击父对话框的“保存”按钮后,会弹出此对话框。现在,由于它包含在一个函数中,它不会等待我的输入,也就是说,它不会“看到”我点击了“确定”或“取消”。我怎样才能解决这个问题?