Задать вопрос
shylov
@shylov
Начинающий

Как сделать значения из массива-объекта для атрибутов динамичными из нескольких вариантов?

1. Присутствует json где все данные - для корзины .
2. Присутствуют два объекта : var cart = {}; и var cart1 = { 2021: 0, 2022: 0, 2023: 0, 2024: 0 };
3. Извлекаю данные :
$.getJSON('goods.json', function (data)
for (var key in data) {
if ((cart) != undefined) {
out1 += '<button class="minus" data-art="' + key + '"">-</button>';
            out1 += '<button class="number" data-art="' + key + '">' + cart1[key] + '</button>';
            } else {
            out1 += '<button class="number" data-art="' + key + '">' + cart[key] + '</button>';
            }
out1 += '<button class="plus" data-art="' + key + '">+</button>
}
function plus() {
    var articul = $(this).attr('data-art');
    if (cart[articul] != undefined) {
        cart[articul]++;
    }
    else {
        cart[articul] = 1;
    }
    localStorage.setItem('cart', JSON.stringify(cart)); 
    loadGoods();
};

Когда убираю объект "cart1" значения переходят в "undefined" но при клике увеличиваются или уменьшаются . Когда установлен "cart1" то значения для каждого атрибута = 0 , и находятся в статическом состоянии , хотя значения в localstorage заходят как положено по отдельности для каждого атрибута . Еще одно странно что значения из массива "cart1" берутся по отдельности как положено хотя для этого не задана операция . Уверен что существует вариант просто с моим опытом в программировании я хожу вокруг да около и не могу собрать это решение . Буду благодарен за совет .
  • Вопрос задан
  • 12 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
15 февр. 2025, в 03:09
2500 руб./за проект
14 февр. 2025, в 23:25
20000 руб./за проект
14 февр. 2025, в 22:36
5000 руб./за проект