Jquery对话框 - 有没有办法打开它而不使用.dialog注册它?

时间:2010-05-20 16:16:52

标签: jquery jquery-dialog

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

3 个答案:

答案 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

因此必须检查指定的工作是否有效。谢谢你的答案。