[Ajax] Vấn đề xử lý ajax cho elment được ajax load lên?

Mình gặp vấn đề như sau :smile:

  • Mình có bài viết và phần comment như status facebook. mình có viết ajax cho status và comment là khi post hay bình luận một status sẽ hiện thị lên không cần load lại trang.
    Vấn đề xảy ra ở đây là đối với những status khi load trang web thì bình luận bình thường, nhưng đối với status mình dùng ajax load lên thì không bình luận bằng ajax được ? sự kiện không phát sinh đối với các thành phần ajax mới chèn vào trang web ? mình không biết phải làm sao ?

Bạn có thể show code phần comment action của bạn được không?

Đây là code comment action :

$('button[name=comment-status-sunmit]').click(function() {
    var form_comment    = $(this).parent();
    var status_id       = $(this).attr('id').substr(8);
    comment_id          = '#comment-content-'+status_id;
    divComment          = $(comment_id);
    input_comment       = 'input-comment-'+status_id;
    var comment         = document.getElementById(input_comment).value;

    var data = {
        "comment": comment,
        "status_id": status_id};
    $.ajax({
            method: "post",
            url: form_comment.attr('action'),
            dataType: "json",
            data: data}).done(function( msg ) {
        console.log(msg);
        if(msg.static == "success") {
            $showComment = showComment(msg.data);
            divComment.append($showComment);
            document.getElementById(input_comment).value = "";
        } 
        if(msg.static == "error") {
            $('#msg-error').html(msg.data);
            $('#modal-alert').modal({show: true});
        }});
    
    return false;});

với hàm showComment trả về html + css hiển thị comment

bạn dùng

$(document).on('click','button[name=comment-status-sunmit]',function(){
  //code cua ban 
});

dùng cái này xem…

2 Likes

đúng rồi, cám ơn bạn.

$(document).on có tác dụng gì vậy mọi người :smiley:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?