Событие клика работает только для первого элемента в цикле в шаблоне Django.Javascript

Форум по Javascript
Ответить
Anonymous
 Событие клика работает только для первого элемента в цикле в шаблоне Django.

Сообщение Anonymous »

Я просматриваю словарь корзины, находящийся в сеансе, и определил продукт для всех элементов. При нажатии каждой кнопки элемента корзины они отправляются через ajax, но отправляется только первый элемент, даже если для каждого элемента указан идентификатор продукта.

Код: Выделить всё

{% for item in cart %}

#somecode
 + 
 - 

{% endfor %}
  • js

    Код: Выделить всё

     $(document).ready(function(){
    var increaseBtn = document.querySelector(".increase-item");
    var decreaseBtn = document.querySelector(".decrease-item");
    
    increaseBtn.addEventListener("click", function(){
    var itemId = $(this).closest('.items').data('product-id');
    updateQuantity(itemId, "increase");
    })
    
    decreaseBtn.addEventListener("click", function(){
    var itemId = $(this).closest('.items').data('product-id');
    updateQuantity(itemId, "decrease");
    })
    
    function updateQuantity(id, action){
    $.ajax({
    type: 'POST',
    url: '{% url "cart:update_quantity" %}',
    data: {'id': id, 'action': action, 'csrfmiddlewaretoken': '{{ csrf_token}}'},
    success: function(data){
    $("#total-items").text(data.total_items);
    },
    })
    }
    })
    


Подробнее здесь: https://stackoverflow.com/questions/798 ... o-template
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»