JQuery UI多个对话框问题

我有动态创建Dialog的function。 有时我需要Modal或Confirm Dialog

所以我创建了Function

function createDialogWithOutClose() { jQuery('#divPopup').dialog('destroy'); var dialog = jQuery('#divPopup').dialog({ autoOpen: false, height: 450, width: 650, modal: true, open: function(event, ui){ jQuery('body').css('overflow','hidden'); } }); jQuery('#divPopup').dialog('open'); } 

 function createConfirmDialog(url,params) { jQuery('#divPopup').dialog('destroy'); var dialog = jQuery('#divPopup').dialog({ autoOpen: false, resizable: false, modal: true, show: "blind", hide: "explode", open: function(event, ui){ jQuery('body').css('overflow','hidden'); }, buttons: { Ok: function() { jQuery( this ).dialog( "close" ); jQuery.ajax({ type: "POST", url: url, data: params }); }, Cancel: function() { jQuery( this ).dialog( "close" ); } } }); jQuery('#divPopup').dialog('open'); } 

这里的问题是当我调用这个函数时,它会打开之前打开的Dialog。

我想以前的实例不会被删除。它不会动态创建Dialog

任何解决方案

看看http://docs.jquery.com/UI/Dialog/dialog#method-destroy

jquery:如何在关闭时完全删除对话框

http://groups.google.com/group/jquery-ui/browse_thread/thread/4f9804ccb01c1bc8/5b1971d1f0abf1fa?pli=1

只需使用标志来检查对话状态(关闭/打开)

 var Open = false; $('button').click(function () { if (!Open) { Open = true; $(newDiv).dialog({ close: function (event, ui) { Open = false; } }); } else { alert("Close opened dialog first"); } });