jquery ui对话框,打开新对话框并关闭对话框

时间:2012-01-25 13:34:43

标签: javascript jquery jquery-ui jquery-selectors

我的网站有一个页脚,可打开4个不同的对话框,并从独立页面加载内容。

如果您从搜索引擎输入页脚或输入网址,则可以单独打开页脚。

我有一个打开页脚对话框的函数:

function FooterPopup(){
    $(document).ready(function(){
        $('#footerContactUs').on("click",function(){
            var $dialog=$('<div></div>').load($('#footerContactUs').attr('href')).dialog({
                close: function(event,ui){$(this).remove ();},
                autoOpen:false,
                width:700,
                height:610,
                resizable:'false',
                modal:true,
                show:'blind',
                hide:{effect:'blind',duration:300},
                dialogClass:'Contact'
            });
            $dialog.dialog('open');
            return false;
        });
    })
}

独立页面具有在不同功能中打开另一个对话框的链接

所以我有 2种情况

1.dialog在另一个对话框的顶部打开。

2.dialog从独立页面打开。

代码:

function Consult(){
    $(document).ready(function(){
        $('.ConsultHotels').on("click",function(){
            var $dialog=$('<div></div>').load($('.ConsultHotels').attr('href')).dialog({
                modal:true,
                close: function(event,ui){$(this).remove();
                $('.ui-datepicker').remove();},
                autoOpen:false,
                width:750,
                height:590,
                resizable:'false',
                show:'blind',
                hide:{effect:'blind',duration:300},
                open:function(event,ui){$('body').find('.ui-dialog-content').eq(0).dialog("close");},
                dialogClass:'ConsultClass'
            });
            $dialog.dialog('open');
            return false;
        });
    });
}

我的问题是我不知道如何从第一种情况关闭“父”对话框而不关闭第二种情况下的对话框。

请帮忙,

感谢。

1 个答案:

答案 0 :(得分:1)

为什么不在打开新对话框之前关闭任何打开的对话框?

$('.ConsultHotels').on("click",function(){
  // first close any open dialogs.  This approach is used in stead of just doing a .hide()
  //  because it will invoke any dialog close callbacks.
  $('.ui-dialog-titlebar-close:visible').click(); 

  // now initialize your dialog.
  var $dialog = $('<div></div>').load($('.ConsultHotels').attr('href')).dialog();
});