После успешного выполнения запроса ajax и сохранения данных в базе данных у меня проблема, когда я пытаюсь удалить active
класс от кнопки. На клике я показываю spinner, и когда ajax заканчивается, я хочу удалить класс active
. При запуске Spinner начинайте, но никогда не останавливайтесь. Я пытаюсь отладить его с alert()
внутри success
, и я получаю сообщение. Что может быть проблемой?jQuery ajax не удалять счетчик при успешном завершении
submiteComment: function() {
$("body").on("click", '.submit-comment', function(e) {
e.preventDefault();
var post_id = $(this).data('post');
var comment_text = $(".comment_text");
if($.trim(comment_text).length) {
$(this).addClass('active');
$.ajax({
type: "post",
url: baseurl + '/comment/create',
data: {'post': post_id, 'comment_text': comment_text.val()},
success: function() {
$(this).removeClass('active');
alert("Success");
}
})
}
});
},
И HTML:
<button type="submit" class="btn btn-xs btn-default submit-comment has-spinner" data-post="<?= $post->post_id;?>">
<span class="spinner"><i class="fa fa-spinner fa-spin"></i></span>
Comment
</button>
Я не думаю, что он должен работать с $ (это) в ajax call success part. –
Не могли бы вы дать кнопке ID, а затем попробовать $ («# id»). RemoveClass («active»); ? – BnMcG
Если вы сначала прочитали код, а commnet u увидите класс .submit-comment', а также u увидит '$ (" body "). On (" click ", '.submit-comment', function (e)' ... Так что 'this' является этой кнопкой, например, я говорю:« Запрос успешно выполнен » – Ivan