я пытаюсь реализовать счетчик количества товара для последующего его добавления в корзину. У меня есть карточка товара,которую я получаю из бд через php.
$(document).ready(function (){
init();
loadCart();
});
var cart={};
function init(){
var hash = window.location.hash.substring(1);
console.log(hash);
$.post(
'pages/adminPage/core.php',
{
"action":"loadSingleGoods",
"id":hash
},
goodsOut
);
}
function goodsOut(data){
if(data!=0){
var pack=JSON.parse(data);
console.log(pack);
var out="";
for (key in pack) {
out+='<div class="col-lg-12 single">';
out+='<br>';
out+='<hr>';
out+='<div class="quant">';
out+=`<div class="val-min"><i data-id="${cart.id}" class="fas fa-minus"></i></div>`;
out+=`<div class="val"><span>${cart[id]}</span></div>`;
out+=`<div class="val-plus"><i data-id="${cart.id}" class="fas fa-plus"></i></div>`;
out+=`<a data-id="${cart.id}" class="ad-to-crt pull-right">Добавить в корзину</a>`;
out+='</div>';
out+='</div>';
out+='</div>';
}
$.getScript("pages/productPage/js/slider.js");
$('.goods-out').html(out);
$('.minus-goods').on('click',minusGoods);
$('.plus-goods').on('click', plusGoods);
$('.add-to-cart').on('click',addToCart);
}
else{
$('.goods-out').html("Такого товара не существует!");
}
}
Так же у меня есть переменная cart, в которой суммируется количество товара при изменении. Количество этого товара я сохраняю в local storage
function loadCart(){
//проверяю есть ли в localStorage запись cart
if(localStorage.getItem('cart')){
//если есть расшифровываю и записваю в перемунную cart
cart = JSON.parse(localStorage.getItem('cart'));
}
saveCart();
console.log(cart);
}
function saveCart(){
//сохраняю корзину в localStorage
localStorage.setItem('cart',JSON.stringify(cart)); //корзину в строку
}
функции изменения количества товара и функция для добавления суммы в корзину:
function minusGoods() {
//уменьшаем товар в корзине
var id = $(this).attr('data-id');
if (cart[id]==1) {
delete cart[id];
}
else {
cart[id]--;
}
saveCart();
loadCart()
goodsOut();
}
function plusGoods(){
//добавляет товар в корзине
var id = $(this).attr('data-id');
cart[id]++;
saveCart();
loadCart();
goodsOut();
}
function addToCart(){
//добавляем товара в корзину
var id=$(this).attr('data-id');
//console.log(id);
if(cart[id]==undefined){
cart[id]=1;//если в корзине нет товара-делаем равным 1
}
else{
cart[id]++;//если такой товара есть- увеливаю на единицу
}
showMiniCart();
saveCart();
}
Вопрос в том,как все это грамотно реализовать,чтобы менялось количество товара и при изменение количества это суммировалось и сумма переносилась в переменную cart в local storage Просто у меня совсем идей нету, так как впервые встала такая задача
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Задача: с помощью кода на python авторизоваться в mysql, запускаемый с pythonanywherecom
Использую elastickserachОн делает поиск по всем атрибутам