jQuery всплывающее окно в Ajax - PullRequest
0 голосов
/ 20 апреля 2009

Я использую jQuery и Ajax . При нажатии на гиперссылку соответствующий документ, который нужно загрузить во всплывающем меню, работает нормально. Проблема возникает, когда я использую Ajax.

Мой код

//index.html
....
jQuery.ajax({
    type: 'POST',
    url: ' my.php',
    data: 'one=' + one,

    success: function(data){
        jQuery("#another").load("load.html");

        //Pop up code for the Load.html
        jQuery("a[rel='pop']").click(function (e) {
            e.preventDefault();
            var features =  "height=700,width=800,scrollTo,resizable=1,scrollbars=1,location=0";
            newwindow=window.open(this.href, 'Popup', features);
            return false;
        });
    }//Success
}); //Ajax

Стратегия. После просмотра гиперссылки соответствующий контент необходимо отобразить во всплывающем окне.

Load.html

<a href="pdf/file1.pdf" id="pop" rel="pop"> click 1.</a>
<a href="pdf/file2.pdf" rel="pop">click2</a>

Поскольку Load.html динамически загружается в index.html, все теги связываться со ссылками файлов PDF, и файл load.html не будет отобразить документ во всплывающем окне. Как я могу изменить свой код сделать вышеуказанный вывод?

1 Ответ

2 голосов
/ 21 апреля 2009

Я думаю, что у вас проблема в том, что вы не ждете, пока содержимое load.html завершит загрузку через ajax. Вам необходимо настроить обратный вызов для этого вызова, чтобы правильно использовать его содержимое.

Сделайте это:

//index.html
....
jQuery.ajax({
     type:'POST',
     url:' my.php',
     data:'one='+one,
     success: function(data){
         jQuery("#another").load("load.html", function() { 
             //pop up code for the Load.html
             jQuery("a[rel='pop']").click(function (e) {
                 e.preventDefault();
                 var features = "height=700,width=800,scrollTo,resizable=1,scrollbars=1,location=0";
                 newwindow=window.open(this.href, 'Popup', features);
                 return false;
             });//click
         }//load
     });//success
});//ajax

Это должно решить твою проблему, насколько я понимаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...