Jquery UI对话框删除问题

Jquery UI Dialog Remove Issue

本文关键字:问题 删除 对话框 UI Jquery      更新时间:2023-09-26

从此问题返回

多对话框

我本来可以解决这个问题,但现在的问题是它删除了div,所以当我访问该div时,它会出错。它给出错误,因为当我打开对话框时,它在关闭时删除后工作正常,它给出e.error

如果只有一个div,我不想删除jQuery('#divPopup')。如果有多个jQuery('#divPopup'),remove()应该可以正常工作。

jQuery('.register_button_class').live('click',function () {
    var iFrameobj = createIframe('',iframeUrl);
    jQuery('#divPopup').html(iFrameobj);
    createDialogWithClose(url,'#bodyId');
    return false;
});

对话框弹出菜单的伪分区,当单击关闭Jquery Ui弹出菜单时,此分区被删除。所以当我说

jQuery('#divPopup').html(iFrameobj);

它给出了错误。

<div id="divPopup"></div>

我假设您的函数:

createDialogWithClose(url, '#bodyId');

关闭DOM时,将从DOM中删除每个div id="divPopup"

我建议最初不要在标记中包含该div,并更改函数以创建div并在其运行时将其附加到DOM中。然后像你已经在做的那样删除。


jQuery('.register_button_class').live('click',function () {
    var iFrameobj = createIframe('',iframeUrl);
    jQuery("body").append("<div id='divPopup' />").html(iFrameobj);
    createDialogWithClose(url,'#bodyId');
    return false;
});

很难判断您发布的这段代码可能会遇到什么其他问题,但是,每次运行函数时,jQuery("body").append("<div id='divPopup' />").html(iFrameobj);都会创建divPopup。因此,当你关闭它并将其删除时,它将在下次单击该按钮时再次创建。

编辑:如何检查是否存在Div-

if ($("#divPopup").length > 0){
   // do something here
}

我像这样解决了

var length = jQuery('#divPopup').length;
if(length>1)
{
    jQuery('#divPopup').dialog('destroy').remove();
}else
{
    jQuery('#divPopup').dialog('destroy');
}