AJAX по кнопке срабатывает только один раз

159
02 мая 2019, 13:30

По клику на кнопку, ajaxом подменяется часть контента на странице. В том числе и кнопка, по которой срабатывает функция. После этого функция по кнопке уже не вызывается, хотя она имеет нужный селектор. Не подменять эту кнопку в моем приложении довольно сложно, можно ли как-то обойти эту проблему и заставить кнопку работать повторно?

$('.remove-from-cart').on('click', function(){
    var data = {
        product_id: $(this).attr('data-product-id')
    };
    $.ajax({
        type: 'GET',
        url: '/remove-from-cart/',
        data: data,
        success: function(data){
            $('#shoping-cart-widget').html(data)
        }
    });
    return false;
});
Answer 1

Да можно, добавь этот скрипт в файле ответа, тогда он у тебя будет вешаться на кнопку снова и снова, тем самым будет работать бесконечно

Ещё есть вариант начало функции не правильно выглядит

$('а тут родительский селектор').on('click', '.remove-from-cart', function(){

.on для этого и создан что бы динамично добавлять обработчик на вновь появившиеся элементы

READ ALSO
перенести список с одного дива в другой

перенести список с одного дива в другой

есть два дива, не могу до конца реализовать, чтоб при нажатии кнопки, список из одного дива перенёсся в другой

149
Динамическая загрузка данных в таблицу

Динамическая загрузка данных в таблицу

На странице есть таблица, в которую данные подгружаются автоматически из БД с помощью аяксаНо проблема в том, что грузятся они криво

140
Google “Отзывы клиентов” cb=gapi.loaded_0:82 Uncaught TypeError: Converting circular structure to JSON

Google “Отзывы клиентов” cb=gapi.loaded_0:82 Uncaught TypeError: Converting circular structure to JSON

При подключении модуля Google "Отзывы клиентов" вылетает ошибка

137