在foreach中有可能有.load

时间:2014-05-25 02:28:08

标签: php jquery ajax foreach

我想知道是否可能在foreach循环中有.load。我目前已经尝试过,但没有做我认为会做的事情:

<?php
foreach($comments as $comment) {
    echo "<div class='wrap'>";
?>

<script type="text/javascript">
     $(".post4divv div").load("lonelypost.php?idfrompost=<?php echo $post_idr; ?> .div12");</script>
<?php echo "</div>";
}
?>

现在每次循环时我都要将.load数据添加到每个循环的每个$("div.wrap") foreach回声中

3 个答案:

答案 0 :(得分:0)

你可以试试这个。

<script type="text/javascript">
<?php 
  foreach($comments as $comment) {
    echo "<div class='wrap'>";
?>
$(".post4divv div").load("lonelypost.php?idfrompost=" + <?php echo $post_idr; ?> + "div12");

<?php 
  echo "</div>";
}
?>
</script>

答案 1 :(得分:0)

如果在foreach中使用.load函数,这是一个非常糟糕的做法,因为它会降低加载速度,并且可能会在大数据循环的情况下将浏览器挂起。

无论如何,你的问题的答案是

   foreach($comments as $comment){
    echo "<div class='wrap'>";
    echo "<script>";
    echo "$('some selector').load('whatever you want to')";
    echo "</script>";
    echo "</div>";
   }

但更好的解决方案是使用jQuery Template。调用@ Jonast92评论中提到的Ajax请求。从php获取JSON格式的数据。在jquery模板的帮助下,您可以循环显示整个json数组。

请告诉我这是否解决了您的问题,因为您没有详细说明您的问题。


答案 2 :(得分:0)

不确定这是否是您想要的,但

<?php
foreach($comments as $comment) {
?>
<div class='wrap' name='<?=$post_idr?>'>
<script type="text/javascript">
     $("div.wrap[name='<?=$post_idr?>']")
      .load("lonelypost.php?idfrompost=<?=$post_idr?> .div12");
</script>
</div>
<?php
}
?>

会将每个评论加载到自己的div中。