我在我的 php 页面上有一个 mysql 查询,它返回一个 div 中的所有结果......有点像这样:
echo '<div class="results">' . $result . '</div>';
单击 div“结果”时,我只想重新加载该 div。我正在尝试这样做:
$(this).load('testratings.php this').hide().fadeIn(2000);
但显然 .load() 中的“this”是不正确的......在这里寻找语法。
给div
你想要重新加载一个 ID 并像下面这样调用它。
$(this).load('testratings.php #ReloadThisDiv').hide().fadeIn(2000);
你需要给每个 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。