0

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

然后我发射命令

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

做完某事后我关闭对话框

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

它以我的所有信息关闭。但我希望它关闭,但我的信息仍保留在 DIV 中。

问题是在关闭时,ui对话框也会删除整个div,所以关闭后什么都没有了。

4

1 回答 1

1

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

试试这个:

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 的内容,然后将其放回页面。我使用破坏而不是关闭来显示它回到页面。

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

在小提琴中,我使用了一个文本框来更改对话框形式的 div 的内容。然后在关闭处理程序中,我销毁对话框,然后再次使其可见。

于 2012-12-18T15:01:51.053 回答