как сделать счетчик количества товара

175
07 февраля 2019, 13:00

я пытаюсь реализовать счетчик количества товара для последующего его добавления в корзину. У меня есть карточка товара,которую я получаю из бд через 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 Просто у меня совсем идей нету, так как впервые встала такая задача

READ ALSO
запрос в mysql из pythonanywhere ошибка 1146. Table doesn&#39;t exist

запрос в mysql из pythonanywhere ошибка 1146. Table doesn't exist

Задача: с помощью кода на python авторизоваться в mysql, запускаемый с pythonanywherecom

276
Как узнать Master или Slave?

Как узнать Master или Slave?

Как проверить если щас БД работает в режиме Master или Slave?

203
Как исключить атрибут из поиска при использовании elasticksearch?

Как исключить атрибут из поиска при использовании elasticksearch?

Использую elastickserachОн делает поиск по всем атрибутам

199