返回jquery UI对话框的值

您可以在许多post( 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

您无法从确定/取消function返回任何内容,因为它们本质上是仅在单击按钮时处理的事件处理程序。

使用单独的函数来处理结果:

 $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); } 

工作示例: http : //jsfiddle.net/nz2dH/

我已经实现了Yes / No确认对话框,其中包含自定义消息和回调函数。 如果您想为各种目的使用相同的对话框,这很有用。

   

希望这也有助于其他人:)