我有评论表,每条评论都有回复。我设法对系统进行编程,当使用ajax php和jquery提交新评论时,评论会显示在回复列表中。现在我正在使用ajax php和jquery编写删除回复按钮。发生的事情是当我刷新页面时,我可以删除我点击的第一个删除按钮的回复评论!之后当我点击删除另一个回复评论时,没有任何反应。然后,如果我重新加载页面,我可以删除我点击的另一个回复评论,但每次刷新后不超过一个回复。我需要您的帮助,以便能够在不刷新页面的情况下删除多个回复
我将在jquery和ajax旁边发布代码,如果需要其他代码请告诉我
这是我的删除按钮的jquery和ajax代码:
// Delete a reply
$('.delete_board_reply_button').click(function() {
var deleteReplyButtonParent = $(this).attr("id");
var idArray = deleteReplyButtonParent.split("-");
var boardReplyId = idArray[0];
//console.log(boardReplyId);
var url = "widgets/delete_board_reply.php";
$.ajax({
url: url,
type: "POST",
data: {
reply_id: boardReplyId
},
success: function(data) {
// here i make a custom pop up alert
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(jqXHR);
}
});
var commentId_attr = $(this).parent().parent().attr("id");
var commentArray = commentId_attr.split("-");
var boardCommentId = commentArray[0];
console.log(boardCommentId);
loadBoardReplies(boardCommentId);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="reply_comment_div" id="<?php echo $reply_id;?>-boardReplyDelete">
<a href="profile.php?user_id=<?php echo (int)$reply_user_id;?>" class="board_comments_div_picture">
<img src="
<?php
$profile_image = $reply_user_data['profile_picture'];
$profile_image_thumb = "uploaded_pictures/profile/$reply_user_id/" . $reply_user_id . "small.png";
if ($profile_image == "") {
if ($comment_user_data['gender'] == "Male"){
echo "images/ProfilePicMale.png";
} else {
echo "images/ProfilePicFemale.png";
}
} else {
echo $profile_image_thumb;
}
?>" width="50px" height="50px" alt="" title=""/>
</a>
<a href="profile.php?user_id=<?php echo (int)$reply_user_id;?>" class="board_comments_reply_link">
<?php echo ucfirst(htmlentities($reply_user_data['first_name'])) . " " . ucfirst(htmlentities($reply_user_data['last_name']));?>
</a>
<?php
if ($user_id == $_SESSION['user_id']){
?>
<a href="edit_comment_board.php?comment_id=<?php echo $reply_comment_id;?>" class="edit_comment_button_board">Edit</a>
<input type="button" class="delete_board_reply_button" value="Delete" name="delete_board_reply_button" id="<?php echo $reply_id;?>-replyId" />
<?php
}
?>
<div class="board_comment_submited_on">
submitted
<?php echo time_of_post($reply_timestamp);?>
</div>
<span class="comment_content_span"><?php echo nl2br($reply_text);?></span>
</div>
&#13;
更新 删除按钮jquery代码我做了一些逐行调查粘贴所以我发现当我添加这行时出现问题
loadBoardReplies(boardCommentId);
参考此功能:
function loadBoardReplies (value) {
var url = "widgets/board_reply_fetch.php";
$.ajax({
url: url,
method: "POST",
data: {
comment_id: value
},
success: function(data){
$("#"+value+"-").html(data);
},
error: function(jqXHR, textStatus, errorThrown){
console.log(jqXHR);
}
});
}
但我似乎无法告诉现在的问题是什么!如果我对此行发表评论,我可以删除任何我想要的回复,但回复未获得更新,删除的回复将保留在DOM中
答案 0 :(得分:0)
你确定吗?
var commentId_attr = $(this).parent().parent().attr("id");
在HTML结构中似乎是$(this).parent() == <div>
。你试过那个吗?
此致