我有<div id='A'>
我有一些信息</div>
然后我开火命令
$('#A').dialog();
做完某事后我关闭了对话框
$('#A').dialog('close');
它以我的所有信息结束。但是我希望它关闭,但我的信息仍在DIV中。
问题在于,关闭时,ui对话框也会移除整个div,因此关闭后没有任何内容。
答案 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来显示它回到页面。
在小提琴中我使用了一个文本框来改变div的内容,当它处于对话框形式时。然后在关闭处理程序中,我销毁对话框,然后再次显示它。