JQuery UI диалог, открыть новый диалог и закрыть диалог позади - PullRequest
0 голосов
/ 25 января 2012

У моего сайта есть нижний колонтитул, который открывает 4 различных диалоговых окна и загружает в них контент с независимых страниц.

Страницы нижнего колонтитула можно открыть независимо, если вы вводите их из поисковой системы или вводите URL.

У меня есть функция, которая открывает диалоги нижнего колонтитула:

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.Диалог открывается поверх другого диалогового окна.

2.Диалог открывается с независимой страницы.

код:

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 Ответ

1 голос
/ 26 января 2012

Почему бы просто не закрыть все открытые диалоги перед открытием нового?

$('.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();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...