2015-10-16 75 views
0

有一种情况,我正在使用jQuery“.load()”方法使用AJAX连接将内容加载到我的页面上的div中。在页面末尾,我必须有一个document.ready函数,并且必须用load语句手动指定每个单独的AJAX div。jQuery AJAX数据切换

<div id="div1">Loading...</div> 
 
<div id="div2">Loading...</div> 
 
<script type="text/javascript"> 
 
    $(document).ready(function() { 
 
    $("#div1").load("path/to/file.php"); 
 
    $("#div2").load("path/to/file.php"); 
 
    }); 
 
</script>

相反,我希望做的是与jQuery选择和HTML5数据 - 参数工作。我已经将这些用于许多其他部分,这些部分用于捕获onclick事件,但在使用AJAX加载方法的相同技术时遇到问题。

我现在拥有的是...

<div id="div1" data-toggle="pagelet" data-url="/path/to/file.php">Loading...</div> 
 
<div id="div2" data-toggle="pagelet" data-url="/path/to/file2.php">Loading...</div> 
 
<script type="text/javascript"> 
 
    $(document).ready(function() { 
 
    $("[data-toggle='pagelet']").load($(this).data("url")); 
 
    }); 
 
</script>

但它不工作。我知道使用数据切换和数据网址参数工作,因为当我首先添加一个点击处理程序,并在点击处理程序中嵌入ajax加载方法,然后当我点击有问题的div时,它工作。

任何人都可以给我一个想法,我错了,并指出我在正确的方向。

感谢

+0

需要迭代,并呼吁每个负载一样可以当你不能做一次全部绑定一个事件或设置一个类...使用each(),然后像循环内的硬编码类似的东西。 – dandavis

回答

0

用户需要通过结果集进行迭代如下:

<script type="text/javascript"> 
    $(document).ready(function() { 
    $("[data-toggle='pagelet']").each(function(){ 
     $(this).load($(this).data("url")); 
    }); 
    }); 
</script> 
+0

谢谢唐,这修好了。 –

+0

很高兴我能帮忙,请你能接受我的回答,谢谢。 – Don