JQuery UI对话框问题:关闭删除div

时间:2010-02-12 09:54:58

标签: jquery-ui modal-dialog jquery-ui-dialog

我想使用JQuery UI Dialog小部件在我的页面上显示一个弹出屏幕。

为了实现这一点,我的页面上有<div class="popup-placeholder">。实际上页面上有多个(如果这对解决方案有所影响)

点击按钮,我正在初始化对话框并“打开”它。弹出窗口的初始化在动作单击中,因为它应该进行Ajax调用以获取弹出窗口的内容。 (我尝试从click事件中进行初始化,但这不起作用$('div.popup-placeholder').dialog();

    var popupContext = $('#' + contextControl.id + ' > .popup-placeholder');
    popupContext.html(formHtml);

    $(popupContext).dialog({
        bgiframe: true,
        modal: true,
        autoOpen: false,
        closeOnEscape: false,
        dialogClass: '',
        draggable: true,
        position: 'center',
        resizable: false,                                    
        width: 600
    });

单击操作按钮,表单显示并执行应该执行的操作。 现在,我在弹出窗口上有一个紧密的链接,而不是一个对话按钮,而只是另一个链接到一个绑定到它的事件。 这样做......

$('#popup-placeholder-61').dialog('close');

其中#popup-placeholder-61与$(popupContext)相同

我现在面临的问题是,在弹出窗口关闭时,相同的操作按钮不再显示弹出窗口。问题似乎是<div class="popup-placeholder">已从标记中删除。

我在下一页尝试了解决方案,但没有帮助 - Jquery Dialog Close on StackOverflow

所以,我需要更多的帮助

4 个答案:

答案 0 :(得分:1)

我的问题已经解决,但我会研究为什么我之前的方法不起作用。 我之前做的是我有多个不同ID的占位符,而我只做了其中一个对话框。我使用了一些Jquery选择器来为对话框选择适当的div,并出现上述问题。

我现在唯一的改变是我有一个div作为占位符。这现在有效。它也在我的活动之外初始化。 那么,也许这与我的选择器有关?我会尝试更多,如果我发现某些内容会将其作为后续内容发布。

感谢。

答案 1 :(得分:1)

经过一番努力,我找到了最佳解决方案。请使用下面的行而不是对话框('close')

$('#popup-placeholder-61').dialog("destroy");

这将允许div保留其位置

答案 2 :(得分:0)

尝试从click事件中取出初始化代码,可能是通过尝试重新绑定所有内容而无法通过第二次单击弹出对话框打开...我有一个类似的问题,我通过创建“解决”每次打开对话框时对话框的标记。

你的问题的ajax位没有阻止你从click事件中取出初始化,只需在click事件上加载你的ajax内容并用对话框显示对话框('open')。

答案 3 :(得分:0)

主要问题是我在错误的地方寻找对话框div。

有关详细信息,请参阅此帖...

Jquery Dialog - div disappears after initialization