@NonFame

Как увеличить кол-во товара в корзине?

Не могу реализовать, чтоб кол-во товаров менялось сразу в массиве объектов.
Есть массив Cart, в который я пушу товары карт выглядит так:
Cart = [{id:1, img: url, name: name, quantity: 1, vendorCode: 123 , price: 123}]

Написал функцию для расчета кол-ва товара.
Проблема в том, что меняет значение только у первого товара в массиве, в HTML все отображается нормально, но в массиве кол-во увеличивается только у первого эл-та

function quantityTriggers() {
// Ищем кол-во товара в массиве
        quantityInArray = cart.find(list => list.quantity),
// Ищем обертку товара
        cartItem = document.querySelectorAll('.cart-item')
        for (let i = 0; i < cartItem.length; i++) {
// Находим id в блоке cart-item
            let testId = document.getElementById(`cart-item_${[i+1]}`)
            testId.addEventListener('click', function (e) {
                // Находим id кнопки +
                    plus = document.getElementById(`plus_${i + 1}`),
// Находим кол-во товара в html
                    quantity = document.getElementById(`quantity_${i+1}`),
// Переводим в число
                    quantityValue = parseInt(quantity.textContent)
// Если клик по кнопке +
                if (e.target === plus) {
// Увеличиваем значение на 1                    
                  quantityValue++
// Переводим в строку и добавляем в html
                    quantity.innerText = String(quantityValue)
                } 
// Полученное значение присваиваем в объект               
                quantityInArray.quantity = quantityValue
            })
        }
}
  • Вопрос задан
  • 244 просмотра
Пригласить эксперта
Ответы на вопрос 1
sinneren
@sinneren
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы