这是我的问题。我有一个包含多个标签的页面。我动态加载这些选项卡,其中一个选项卡是一个消息容器(邮件)。每次我单击文件夹链接(收件箱,已发邮件等)时,我只使用适当的内容重新加载该选项卡。我使用Jquery对话框来选择联系人,我每次都要加载联系人。因为每次JQuery Dialog注册(或创建)整个div内容时我都会重新加载整个选项卡内容。为了避免这种情况,我这样做了:
if ($("#ui-dialog-title-divContacts").length == 0) { //if dialog data is not created then make dialog
$("#divContacts").dialog({
bgiframe: true,
resizable: false,
autoOpen: false,
height: 600,
width: 425,
modal: true,
overlay: {
backgroundColor: '#000',
opacity: 0.5
},
buttons: {
Cancel: function () {
//basically do nothing
$(this).dialog("close");
},
'Done': function () {
$("#divTo").empty().html($("#divSelectedContacts").html());
$(this).dialog("close");
}
}
});
}
我在FF中生成了viewsource,发现只创建了一个实例。我现在的问题是它没有显示对话框。有没有办法在不注册的情况下打开此对话框。非常感谢任何帮助。
答案 0 :(得分:1)
$(“#divContacts”)。dialog('open')不起作用?
也许我误解了这个问题。您只想创建一个对话框实例,您可以这样做。现在你想知道如何展示它?
答案 1 :(得分:0)
所以每次都要用联系人填充对话框?为什么不用你想要显示的所有数据和UI元素填充隐藏的div,然后当你想要显示对话框时,只需克隆隐藏的div并显示它。
我误解了这个问题吗?
答案 2 :(得分:0)
最后在打破头部这么长时间后,我发现JQuery(升级到1.4.2)和JQuery UI(仍然在1.7)之间存在不匹配。我现在已将其升级到1.8。我仍然遇到同样的问题,但发现当与Jquery 1.4结合使用时,它是Jquery UI对话框中的固有错误。
http://forum.jquery.com/topic/problem-with-ui-dialog-component-and-jquery-1-4-1#14737000000729726
因此必须检查指定的工作是否有效。谢谢你的答案。