首页 > 解决方案 > 在数组中添加对象

问题描述

我正在尝试实现一个购物车,我将产品放在一个 html 文件中,当我单击产品的按钮将该产品添加到数组中,然后添加到本地存储中时。我无法使用此功能推送正在单击的对象 produse 变量是保存我的产品的位置

var cartContent = [];
$('.buttons').click(addingToLocalStorage)
function addingToLocalStorage(event) {
    if (event.target !== event.currentTarget) {
        var clickedBtn = event.target.id;
        var setter = produse[clickedBtn];
    }
    event.stopPropagation();
    addingToCart(setter);
}

function addingToCart(item) {
    for (var i = 0; i < cartContent.length; i++) {
        if (cartContent[i].id == item.id) {
            cartContent[i].qty += 1;
        } else {
            cartContent.push(item)
        }
    }
    localStorage.setItem('cart', JSON.stringify(cartContent))
}

标签: javascripthtmlcartshopping

解决方案


代替event关键字使用另一个参数:

function addingToLocalStorage(e) {
    if (e.target !== e.currentTarget) {
        var clickedBtn = e.target.id;
        var setter = produse[clickedBtn];
    }
    e.stopPropagation();
    addingToCart(setter);
}

推荐阅读