ここでは、ユーザーがメッセージにコメントを追加しています。ajax 呼び出しを使用してデータベースにコメントを追加すると、コメントが jsp ページに表示されます。
コメントごとに削除ボタンの問題があります。新しく追加された ajax コメントが delete jquery メソッドを呼び出していないことです。ページを更新すると、削除メソッドが呼び出された後です。
新しく追加された ajax コメントの delete メソッドが、ページを更新せずに呼び出されるようにします。
コメントを追加するためのajax呼び出し(DBにデータを追加し、jspページで適切に動作する)
$('.commentbox').on('keydown', function(event) {
parentId=$(this).parent().attr("id");
var idis='#'+parentId;
var commentOn = $(idis).find('input[name="commentOn"]').val();
var commentIs = $(idis).find('textarea[name="commentbox"]').val();
var dataString1 = 'commentOn='+ commentOn
+'&comment='+commentIs;
$("#comment").val('');
event.preventDefault();
$.ajax({
type: "POST",
url: "addmessagecomment",
dataType: "text html",
data: dataString1,
success: function(data) {
var divtoadd="#comments_"+commentOn;
$(divtoadd).append(data);
$(idis).find('textarea[name="commentbox"]').val("");
}
});
});
コメントを削除するため(ページの更新後に新しく追加された ajax コメント作業を呼び出さない)
$('.deletecomment').click(function (f){
var parentId=$(this).parents('.single_comment').attr('id');
var todel=parentId.replace("comment_","");
$.post('deletecomment?commentId='+todel, function(data) {
$('#'+parentId).remove();
});
});