我正在尝试使用 jquery 加载更多数据(如分页)。我的 ajax 正在工作,但是 jquery 没有按照我想要的方式显示数据,这是我的代码,
jquery 文件:
$(function () {
//More Button
$('.more').live("click", function () {
var ID = $(this).attr("id");
if (ID) {
$("#more" + ID).html('<img src="moreajax.gif" />');
$.ajax({
type: "POST",
url: "ajax_more.php",
data: "lastmsg=" + ID,
cache: false,
success: function (html) {
$("ul#statuses").append(html);
$("#more" + ID).remove();
}
});
}
else {
$(".morebox").html('The End');
}
return false;
});
});
这是 html 文件: 单击此按钮即可检索更多结果!
echo'<div id="more'. $dateTime.'" class="morebox">
<a href="#" class="more" id="'.$dateTime.'">more</a>';
最后是 ajax_more.php 文件:
<?php session_start();
include("includes/connect.php");
include("includes/functions.php");
if(isset($_POST['lastmsg']))
{
$lastmsg=$_POST['lastmsg'];
$result="SELECT u.username, u.picture, m.id, m.user_note, m.reply_id, m.reply_name, m.recycle_id, m.recycle_name, m.dt
FROM relationships r, notes m, user u
WHERE m.user_id = r.leader
AND r.leader = u.user_id
AND r.listener =2
UNION
SELECT username, picture, id, user_note, reply_id, reply_name, recycle_id, recycle_name, dt
FROM user u, notes b
WHERE u.user_id = b.user_id
AND b.user_id =2
AND dt < '$lastmsg'
ORDER BY dt DESC
LIMIT 10 ";
$query= mysql_query($result) or die(mysql_error().$result);
while($row=mysql_fetch_array($query))
{
// echo the posts
echo formatUpdate($row['user_note'],$row['dt'],$row['picture'],$row['username'],$row['id'],$row['reply_id'],$row['reply_name'],$row['recycle_id'],$row['recycle_name']);
}
?>
<div id="more<?php echo $row['dt']; ?>" class="morebox">
<a href="#" id="<?php echo $row['dt']; ?>" class="more">more</a>
</div>
<?php
}
?>
P.S 我检查了 firebug,ajax_more.php
正在返回我想要的结果数据,但在前端 jquery 没有显示它!!
最佳答案
当使用 jQuery 选择器(和 CSS 选择器)引用类时,请在类名前添加 .
,例如 'ul.statuses'
。引用 ids 时使用 #
,例如 'ul#statuses'
。此外,jQuery 的最佳实践是将标签放在 id 选择器前面,因此如果您在选择器中引用 id,它应该如下所示: '#statuses'
关于php - 这个 jquery 帖子没有显示 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3753891/