Здравствуйте, делаю корзину на сайте через плагин jQcart, столкнулся с проблемой добавления товара через localstorage и json с модального окна.Суть алгоритма добавления такая, есть карточки товаров на странице, при нажатии на кнопку, появляется модальное окно в которое переносятся дата атрибуты из карточки товара, после нажатия на кнопку в модальном окне и выбора доп.параметров, товар попадает в корзину.С первым товаром занесение работает корректно.При занесении другой карточки товара данные добавляются к предыдущему товару, а не указываются в корзине, как уникальный товар. При проверке через google dev tools, как я понимаю объект не обновляется, хотя атрибуты в кнопке изменились и идёт просто сложение с предыдущим товаром.И если же производить добавления товара без модального окна, **а просто по клику на карточку товара всё работает отлично**(((.**Подскажите пожалуйста в чём проблема, уже неделю ломаю голову над этим вопросом**.Вот кусочек кода переноса атрибутов из кнопки в кнопку модального окна:
var itemDataButton, totalValueOrder,
itemDataPopUp = $('.delivery-type__addorder_btn');
$('.add-to-cart').click(function (event) {
event.preventDefault();
totalValue = $('#total_value').text($(this).data('price'));
totalValueOrder = ($(this).data('price'));
itemDataButton = $(this).data();
for ( var key in itemDataButton) {
itemDataPopUp.attr('data-' + key, itemDataButton[key]); } });
Добавление в корзину
addToCart: function(e) {
e.preventDefault();
itemData = $(this).data();
if(typeof itemData.id === 'undefined') {
console.log('Отсутствует ID товара');
return false;
}
cartData = actions.getStorage() || {};
if (cartData.hasOwnProperty(itemData.id)) {
cartData[itemData.id].count++;
} else {
itemData.count = 1;
cartData[itemData.id] = itemData;
}
actions.setStorage(cartData);
actions.changeTotalCnt(1);
label.show();
if(opts.openByAdding) {
actions.openCart();
}
return false;
},
LocalStorage
setStorage: function(o) {
localStorage.setItem('jqcart', JSON.stringify(o));
return false;
},
getStorage: function() {
return JSON.parse(localStorage.getItem('jqcart'));
}