2013-03-05 4 views
0

Итак, в моем приложении я открываю диалог и загружаю в него некоторый контент. В большинстве случаев он отлично работает, но иногда он просто не загружает контент. Вот как я это делаю.Почему иногда моя функция загрузки не работает

$('#popup_background').css('z-index', 101); 
    $('#popup').empty(); 
    $('#popup').dialog('open'); 
    $('#popup').load('<?php echo site_url("popupContent"); ?>',{'id':new_id}, function()  
    { 
     $('#popup').bind('dialogclose', function(event) { 
      $('#popup_background').css('z-index', 99); 
    }); 
    } 

    ); 

Если я проверяю firebug, я всегда получаю контент обратно, но иногда он просто не отображается в диалоговом окне. И если это произойдет, мой popup_background не получит измененный z-index, что означает, что dialogclose не вызывается.

Что я здесь делаю неправильно?

+0

Я не вижу ничего плохого в вышеуказанном коде, поэтому я бы сказал, что это что-то еще в вашем Javascript или вашем PHP-коде. – Jodes

+0

Хм, я не знаю, что, как я сказал, я получаю правильный ответ от php, это просто не показано. – gabrjan

ответ

1

иногда может быть ваша load функции не завершена .. почему вы не держите ваш диалог open после load функции завершена .. поэтому, если функция упесть нагрузка не выполняет .. вы по крайней мере не пустой диалог открытие ... :) :)

$('#popup').load('<?php echo site_url("popupContent"); ?>',{'id':new_id}, function()  
{ 
    $('#popup').dialog('open'); 
    $('#popup').bind('dialogclose', function(event) { 
     $('#popup_background').css('z-index', 99); 
}); 
} 
+0

Хорошо, это помогает с результатом проблемы, но не с ядром проблемы ... – gabrjan

+1

диалог открывается, вызывается перед загрузкой .. поэтому нет никакой гарантии, что 'popup' div будет содержать контент к тому времени' load' получает и добавляет его..так, поэтому вы получаете пустое всплывающее окно ... в любом случае лучше всего держать открытую внутреннюю часть 'load' в завершении, чтобы вы могли быть уверены, диалог открывается после завершения загрузки ... и я думаю, что это должно решить вашу проблему .. дайте мне знать, если она существует ... – bipen

+0

ничего себе, похоже, что это действительно новое происходит снова. Я думал, что загрузка загрузит контент, даже если диалог уже открыт. В любом случае, спасибо большое! Однако теперь мне нужно найти способ показать, что что-то загружается пользователем: D – gabrjan

Смежные вопросы