-1

这是我的问题。我有一个包含多个选项卡的页面。我动态加载这些选项卡,其中一个选项卡是消息容器(邮件)。每次我单击文件夹链接(收件箱、已发送邮件等)时,我都会单独重新加载带有适当内容的选项卡。我使用 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 中生成的视图源,发现只创建了一个实例。我现在的问题是它没有显示对话框。有没有一种方法可以在不注册的情况下打开此对话框。任何帮助深表感谢。

4

3 回答 3

1

$("#divContacts").dialog('open') 不起作用?

也许我误解了这个问题。您只想创建一个对话框实例,而您可以做到这一点。现在你想知道如何展示它吗?

于 2010-05-20T19:20:11.113 回答
0

所以你每次都用联系人填充你的对话框?为什么不用你想显示的所有数据和 UI 元素填充一个隐藏的 div,然后当你想显示对话框时,只需克隆隐藏的 div 并显示它。

我误解了这个问题吗?

于 2010-05-20T17:01:53.190 回答
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

所以必须检查那里指定的解决方法是否有效。不过感谢您的回答。

于 2010-05-21T11:48:14.030 回答