0

ここでは、ユーザーがメッセージにコメントを追加しています。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();

        });

    });
4

4 に答える 4