执行完一个函数后再运行jquery函数

Running jquery function after one function is executed

本文关键字:函数 再运行 jquery 一个 执行      更新时间:2023-09-26

我用AJAX添加了一些注释,并获得返回格式化的HTML,并将其添加到HTML与DOM操作,

jQuery.ajax({
    url: baseURL + "index.php/user/news/add_comment",
    data: $("#comment_fm").serialize(),
    type: "POST",
    success: function(data) {
        var objData = jQuery.parseJSON(data);
        if (objData.cival == 1) //Success..
        {
            $("#comment").val('');
            $("#comment_box").replaceWith(objData.comment);
            $("#commentcounts").replaceWith(objData.commentcounts);
        }
    } // Success End
}); //AJAX End

上面的代码,我可以看到我的评论添加,在同样的返回格式的HTML中,有一个delete按钮它有JS函数关联,

下面是delete JS,

function deletecomment(commentid) {
    jQuery.ajax({
        url: baseURL + "index.php/user/news/deletecomment",
        data: {
            comment_id: commentid
        },
        type: "POST",
        success: function(data) {
            var objData = jQuery.parseJSON(data);
            if (objData.cival == 1) {
                $("#commentcounts").replaceWith(objData.commentcounts);
                $("#commentbox" + commentid).remove();
            }
        }
    });
}

下面是我的删除按钮,它触发函数deletecomement ()

<a href="javascript:deletecomment(<?php echo $comment['comment_id'];?>);"><i class="fa fa-trash text-info"></i></a>

但我的问题是,我不能删除这个评论后添加函数运行,如果我刷新页面,那么删除函数需要工作,

所以问题是,如何使多个功能工作而不重新加载页面?

提前致谢

我建议你试一下:

<a class="deleteComment" data-id="<?php echo $comment['comment_id'];?>" href="#"><i class="fa fa-trash text-info"></i></a>

你的JS应该是:

$(document).on('click','.deleteComment',function(){
    jQuery.ajax({
          url: baseURL + "index.php/user/news/deletecomment",
          data: {
                 comment_id: $(this).data('id');
          },
          type: "POST",
          success: function(data) {
                var objData = jQuery.parseJSON(data);
                if (objData.cival == 1) {
                     $("#commentcounts").replaceWith(objData.commentcounts);
                     $("#commentbox" + commentid).remove();
                }
          }
    });
});