Есть js код. Он динамически получает от сервера данные про товар (его название, id, цвет, размер и цену) и выводит эти данные в браузер. Также при нажатие на цену товара, этот товар добавляется в localStorage и потом, на странице с корзиной от-туда берется вся инфа.
Хотелось бы, что-бы в объекте cart (создаю в коде) была такая структура:
var cart = {
id_objecta : {
"id" : id,
"name" : name,
"cost" : cost
}
};
Вот код:
var cart = {};
function init () {
$.post(
"../templates/core.php",
{
"action" : "init"
},
showGoods
);
};
function showGoods (data) {
data = JSON.parse(data);
/* console.log(data);*/
var out = '';
for (var key in data) {
out += '<div class="single_goods" style="padding-right: 0px; padding-left: 0px;">';
out += '<b> ЗАМОК: ' + data[key].name + '</b>';
out += `<img src="${data[key].image}">`;
out += '<p> Размер: ' + data[key].size + '</p>';
out += '<p> Цвет: ' + data[key].color + '</p>';
out += '<div class="btn-group" style="width: 100%;">';
out += '<button type="button" class="btn btn-warning cost add" style="width: 100%; font-size: 1.7rem;" data-art="'+data[key].id+'" data-name="'+data[key].name+'"> Купить за: ' + data[key].cost + '$</button>';
out += '</div>';
out += '</div>';
}
$('#goods').html(out);
$('.add').on("click", addToCart);
};
function addToCart () {
var articul = $(this).attr('data-art');
var name = $(this).attr('data-name');
cart['name'] = name;
if (cart[articul] != undefined) {
cart[articul]++;
}
else {
cart[articul] = 1;
}
localStorage.setItem('cart', JSON.stringify(cart));
showCart();
};
function checkCart () {
if (localStorage.getItem('cart') != null) {
cart = JSON.parse(localStorage.getItem('cart'));
}
};
function showCart () {
var out = '';
for (var w in cart) {
out += '<span> ID товара: '+ w +'</span> <br>'+'<span> Кол-во товара: '+ cart[w] +'</span> <br> <br>';
}
$('#mini-cart').html(out);
};
$(document).ready(function () {
init();
checkCart();
showCart();
});
Вопрос: как осуществить сохранение объекта в том виде в котором я хочу? Сейчас все сохраняется вот так:
var cart = {
"id" : id,
"name" : name
};
Пожалуйста, не игнорируйте меня, помогите! Если я что-то непонятно объяснил, напишите и я объясню лучше или скину ту или иную часть кода!