У меня простая корзина покупок, где пользователь добавляет товары в свою корзину. Каждый добавленный продукт сохраняется как объект в $ .cookie.
Когда пользователь удаляет продукт, этот предмет продукта удаляется из файла cookie или количество падает на один. обновление, что количество объектов работает нормально, я верю.
моя проблема в том, что я не думаю, что им правильно использовать сплайсинг, и я не могу понять, как сделать эту работу в результате. в основном, что происходит, первый объект продукта всегда удаляется из $ .cookie в отличие от этого конкретного объекта, в котором удаляется совпадение.
ниже - мой код. Я надеюсь, что кто-то может определить проблему. я подозреваю, что это «1» (первый элемент), вызывающий проблему >> current_objs.splice (current_objs [i], 1)
вот мой код.
$('body').on('click', '.remove_me', function(e) {
var productid = $(this).data('productid');
var current_objs = $.cookie("obj");
for (i = 0; i < current_objs.length; i++) {
if (current_objs[i].productid === productid.toString()) {
if (current_objs[i].qty == 1) {
current_objs.splice(current_objs[i],1);
$.cookie("obj",current_objs, { path: '/' });
} else {
current_objs[i].qty = current_objs[i].qty - 1;
$.cookie("obj",current_objs, { path: '/' });
}
}
}
});
заблаговременно.
вместо 'current_objs.splice (current_objs [I], 1); 'try' current_objs.splice (i, 1); '. –