投稿をループし、ユーザーが各投稿にコメントできるようにするタイムラインがあります。コメントを入力すると、コメントが作成された投稿の先頭に追加されます。問題は、最初の投稿の先頭に追加されることです。これは、このプリペンド アクションがループをたどっていないことを意味します。
コメント機能を追加
<!--Function to add comment-->
var msg2 = $("#feeds li #comment-form #comment");
var msg = $("#feeds #comment-form #hidden");
var textarea = $('#comment');
$('.comment-btn').on("click",function(event) {
var one = $(this).parent().find(msg2).val();
var two = $(this).parent().find(msg).val();
$.ajax({
type: "POST",
url: "add_comment.php",
data: "msg2="+ one +"&msg=" + two,
msg: "Checking...",
success: function(data){
$('#feeds li #comment-form').parent().find('textarea').val("");
updateComment();
}
});
});
これがupdateComment関数です
<!--Function to update the comment feed-->
function updateComment(){
var id = 0;
id = $('#feeds li #other-comments').attr('data-id');
$.ajax({
'url' : 'comment.php',
'type' : 'POST',
'data' : {
'latest_comment_time' : id
},
success : function(data){
if(id != 0){
$('#sub-comments').prepend(data);
}
}
})
}
編集済み
html
<div id='comments'>
<form action='' id="comment-form" method="post">
<textarea id="comment" name="comment" placeholder="Add comment..."></textarea>
<input type="button" class='comment-btn' value='Send'>
<input type="hidden" name="msg" value="<?=$item['msg_id']?>" id="hidden">
</form>
<div id="sub-comments">
<?php require('comment.php');?>
</div>
</div>
注: 「feeds li」はループ投稿用です。