jquery UI对话框的返回值框
问题描述:
您可能会在很多帖子中找到解决方案(Post 1,Post2),但他们的解决方案不适合我。jquery UI对话框的返回值框
这是我写的正常的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
如果用户点击“OK”。
var returnVal=$("#dialog").dialog("open");
我需要returnVal
返回boolean
值(真/假),但它返回的JavaScript object
。
答
您不能从OK/cancel函数返回某些东西,因为它们本质上是仅在单击按钮时处理的事件处理程序。
使用一个单独的函数来处理结果:
$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);
}
答
我实现是/自定义消息和回调函数像这样没有确认对话框。如果您喜欢为各种目的使用相同的对话框,这很有用。
<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>
希望这可以帮助其他人也:)
谢谢ManseUK。 – 2012-01-05 09:41:43
对不起ManseUK(我想接受它与大谢谢!)但等待..我在我的页面上工作..我只是在这里提供了一点代码给你。在提交表格时,我无法传播'结果'。 – 2012-01-05 09:57:55
@Umesh我想让你阅读该页面并接受其他答案 - 不是为了这个问题...你可以创建一个http://jsfiddle.net/与你的问题 – ManseUK 2012-01-05 10:00:31