AJAX问题"加载更多"按钮:点击后消失


Issue with AJAX "load more" button: disappears once clicked

EDIT:感谢大家的帮助。但它仍然不起作用。如果我将表更改为有序列表,则该脚本将工作得很好。(tr = ol and td = li)这就是为什么我真的认为问题来自代码的追加部分。什么好主意吗?

一切似乎工作正常,除了"加载更多"按钮消失后,它被点击。新的帖子加载,但用户不能再次点击按钮加载更多的帖子。我已经看了SO,但无法找到解决我的问题的方法。

如果我删除这一行:

$("#more"+ID).remove();

则按钮确实显示,但GIF图像一直在加载,按钮是不可点击的…

下面是index.php代码:

<table id="update_list" >
<tbody>
<?php
$result=query("SELECT * FROM postlist ORDER BY postid DESC LIMIT 9");
foreach ($result as $row)
{
$postid=$row['postid'];
$post=$row['post'];
?>
<tr id="<?php echo $postid ?>">
<td> 
<?php echo $post; ?>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<div id="more<?php echo $postid; ?>" class="morebox">
<a href="#" class="more" id="<?php echo $postid; ?>">more</a>
</div>
</div>
</body>
<script type="text/javascript">
$(function() {
$('.more').live("click",function() 
{
var ID = $(this).attr("id");
if(ID)
{
$("#more"+ID).html('<img src="/loading.gif" />');
$.ajax({
type: "POST",
url: "loadmore.php",
data: "lastpost="+ ID, 
cache: false,
success: function(html){
$("#update_list >tbody").append(html);
$("#more"+ID).remove();
}
});
}
else
{
$(".morebox").html('The End');
}
return false;
});
});
</script>
</html>

下面是loadmore php页面:

<?php
include("includes/config.php");
if(isset($_POST['lastpost']))
{
$lastpost=$_POST['lastpost'];
$result=query("SELECT * from postlist WHERE postid < '$lastpost' ORDER BY postid DESC 
LIMIT 5"); 

foreach ($result as $row){
$postid=$row['postid'];
$post=$row['post'];
?>
<tr id="<?php echo update$postid ?>">
<td>
<?php echo $post; ?>
</td>
</tr>
<?php } ?>
<div id="more<?php echo $postid; ?>" class="morebox">
<a href="#" class="more" id="<?php echo $postid; ?>">more</a>
</div>   
<?php  }?>

有什么建议我做错了吗?谢谢!

试试这个:

<>之前$(函数(){$(更).live("点击",函数(){var ID = $(this).attr(" ID ");如果(ID){$(" #更多"+ ID);("a")hide () .insertAfter (' & lt; img src = "/loading.gif "/祝辞的);//隐藏链接并在链接后插入图片. ajax({美元类型:"文章",url:"loadmore.php",data: "lastpost="+ ID,缓存:假的,成功:函数(html) {$ (" # update_list> tbody").append (html);$(" #更多"+ ID); (img) .remove ();//删除img$(" #更多"+ ID);("a"),告诉();//显示链接}});}其他的{$ (" .morebox ") . html("结束");}返回错误;});});

单击load more按钮后,您正在删除该按钮

$("#update_list >tbody").append(html);
//$("#more"+ID).remove(); remove this line