Это jsFiddle моего кода Теперь я пытаюсь сделать приращение элемента корзины, когда нажимаю кнопку плюса, а также уменьшение. Он отлично работает для одного текстового имени элемента, например .. "Цыпленок", но не работает, когда в имени элемента есть пробел, например ... "Цыпленок и чипсы". Это код скрипта, отвечающий за добавление и вычитание элементов, уже находящихся в корзине.
// Add to cart
obj.addItemToCart = function(name, price, count) {
for(var item in cart) {
if(cart[item].name === name) {
cart[item].count ++;
saveCart();
return;
}
}
var item = new Item(name, price, count);
cart.push(item);
saveCart();
}
// Remove item from cart
obj.removeItemFromCart = function(name) {
for(var item in cart) {
if(cart[item].name === name) {
cart[item].count --;
if(cart[item].count === 0) {
cart.splice(item, 1);
}
break;
}
}
saveCart();
}
Это функция события кнопки, которая делает элемент увеличивать или уменьшать
// -1
$('.show-cart').on("click", ".minus-item", function(event) {
var name = $(this).data('name')
shoppingCart.removeItemFromCart(name);
displayCart();
iconCart();
})
// +1
$('.show-cart').on("click", ".plus-item", function(event) {
var name = $(this).data('name')
shoppingCart.addItemToCart(name);
displayCart();
iconCart();
})
Это HTML-кнопка, которая добавляет элемент, используя атрибуты данных
<button data-name="Pepper Soup" data-price="1.22" data-count="1" class="add-to-cart btn btn-primary">Add to cart</button>
Это ошибка, которую я получаю в консоли браузера ...
Указанное значение "undefined" не является допустимым числом. Значение должно соответствовать следующему регулярному выражению: -? (\ D + | \ d +. \ D + |. \ D +) ([eE] [- +]? \ D +)?