0

我正在使用 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

策略:看到超链接后,需要在弹窗中显示相关内容。

加载.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文件不会在弹出窗口中显示文档。如何更改我的代码以执行上述输出?

4

1 回答 1

2

我认为您遇到的问题是您没有等待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

据我了解,这应该可以解决您的问题。

于 2009-04-21T15:15:17.777 回答