我需要从javascript confirm
转换为使用jquery ui确认对话框。问题是,我需要调用并打开确认对话框 - 我需要根据用户单击的按钮(确定/取消)返回true / false。我知道javascript是异步的,但是我被困住了怎么做?谁能指出我正确的方向?
$(document).ready(function() {
$('#dialog:ui-dialog').dialog('destroy');
$('#confirm-delete-quote').dialog({
autoOpen: false,
modal: true,
buttons: {
OK: function() {
$(this).dialog('close');
callback(true);
},
Cancel: function() {
$(this).dialog('close');
callback(false);
}
}
});
$('div.multiRowCheckboxMenu').checkboxMenu({
menuItemClick: function(text, count) {
$('#confirm-delete-quote').dialog('open');
// return confirm('Are you sure you want to ' + text + ' the selected ' + count + ' quote(s)?');
// HOW DO I RETURN WHAT THE USER CLICKED IN THE DIALOG HERE?
return callback();
}
});
});
答案 0 :(得分:0)
您已正确启动,但您不能指望返回值。
原生confirm()
是一个阻止脚本。也就是说,执行线程等待用户的输入。这就是为什么你可以返回一个值。
但是,在使用自定义对话框时,您需要将用于返回值的任何内容的代码移动到Ok
和Cancel
的回调中。
buttons: {
OK: function() {
$(this).dialog('close');
callback(true);
//You know user clicked true, so do something here itself
},
Cancel: function() {
$(this).dialog('close');
callback(false);
//Similarly here
}