0

我在我的 php 页面上有一个 mysql 查询,它返回一个 div 中的所有结果......有点像这样:

echo '<div class="results">' . $result . '</div>';

单击 div“结果”时,我只想重新加载该 div。我正在尝试这样做:

$(this).load('testratings.php this').hide().fadeIn(2000);

但显然 .load() 中的“this”是不正确的......在这里寻找语法。

4

2 回答 2

0

div你想要重新加载一个 ID 并像下面这样调用它。

$(this).load('testratings.php #ReloadThisDiv').hide().fadeIn(2000);
于 2013-11-05T05:15:34.863 回答
0

你需要给每个 DIV 一个唯一的 ID:

echo echo '<div class="results">
           <div class="results_inner" id="results_"' . $resultid++ . '">' . $result
          . '</div></div>';

然后使用jQuery:

$(".results").on("click", ".results_inner", function() {
    $(this).parent().load('testratings.php #' + this.id).hide().fadeIn(2000);
});

您需要嵌套 DIV,因为.load()加载到您应用它的 DIV 的内容中,它不会替换 DIV。您可以使用.replace(),但是您需要编写自己的回调函数,因为它没有简写。

此解决方案假定$resultid计数器从一次调用到下一次调用是一致的。如果合适,您可以使用其他方式为每个结果分配唯一 ID。

于 2013-11-05T04:34:58.673 回答