您可以在很多帖子中找到解决方案(Post 1,Post2),但他们的解决方案对我不起作用。
这是我写的普通jquery对话框。
$("#dialog").dialog({
autoOpen:false,
buttons:{
"ok":function(){
$(this).dialog("close");
return true;
},
"cancel":function(){
$(this).dialog("close"); return false;
}
}
});
我将使用代码打开对话框:
var returnVal=$("#dialog").dialog("open");
如果用户点击“取消”,我需要返回false
,如果用户点击“确定”,则返回true
。
var returnVal=$("#dialog").dialog("open");
我需要returnVal
返回boolean
值(true / false),但会返回javascript object
。
答案 0 :(得分:7)
您无法从确定/取消功能返回任何内容,因为它们本质上是仅在单击按钮时处理的事件处理程序。
使用单独的函数来处理结果:
$mydialog = $("#dialog").dialog({
autoOpen: false,
buttons: {
"ok": function() {
$(this).dialog("close");
processResult(true);
},
"cancel": function() {
$(this).dialog("close");
processResult(false);
}
}
});
$mydialog.dialog("open");
function processResult(result) {
alert(result);
}
答案 1 :(得分:4)
我已经实现了Yes / No确认对话框,其中包含自定义消息和回调函数。如果您想为各种目的使用相同的对话框,这很有用。
<script type="text/javascript">
// prepare dialog
$(function () {
$("#confirm-message-dialog").dialog({
autoOpen: false,
modal: true,
closeOnEscape: false,
buttons: {
Yes: function () {
$(this).dialog("close");
$(this).data("callback")(true);
},
No: function () {
$(this).dialog("close");
$(this).data("callback")(false);
}
}
});
});
// open dialog with message and callback function
function confirmMessageDialog (message, callback) {
$('#confirm-message-dialog-message').text(message);
$('#confirm-message-dialog').data("callback", callback).dialog("open");
};
</script>
<!-- The dialog content -->
<div id="confirm-message-dialog" title="Warning">
<p id="confirm-message-dialog-message"></p>
</div>
希望这也有助于其他人:)