关闭对话框后,在对话框中保留ui对话框的内容

时间:2012-12-18 13:15:57

标签: jquery jquery-ui

我有<div id='A'>我有一些信息</div>

然后我开火命令

$('#A').dialog();

做完某事后我关闭了对话框

$('#A').dialog('close');

它以我的所有信息结束。但是我希望它关闭,但我的信息仍在DIV中。

问题在于,关闭时,ui对话框也会移除整个div,因此关闭后没有任何内容。

1 个答案:

答案 0 :(得分:1)

'close'方法不会像指出的那样删除div,它会将它设置为'display:none',并且一旦它是对话框,选择器就不会按预期工作;至少那是我发现的。您无法使用control + f找到它,因为它未显示。如果您使用Firebug或Developer工具查看该页面,您将看到它仍然存在。

试试这个:

var theA = $('#A');
theA.dialog();

//do ajax stuff here;

//some where else instead of closing the dialog

theA.dialog('destroy'); //returns the div to its pre-dialog state
theA.css('display','block');

我做了一个小提琴演示我做了什么,看看是否有效。我使用了一个锁定标志来确保在关闭的同时我没有“对话”。但是我能够做你正在谈论的关于改变div的内容然后把它放回页面的内容。我用destroy而不是close来显示它回到页面。

http://jsfiddle.net/jvSb3/3/

在小提琴中我使用了一个文本框来改变div的内容,当它处于对话框形式时。然后在关闭处理程序中,我销毁对话框,然后再次显示它。