Приветствую всех, есть такая проблема! Мне нужно для своего интернет магазина сделать удаление товара из корзины. Скрипт построен на Jquery, вопрос в том как удалить товар, ведь нужно удалить определённый товар и записать его в куки.
Сам скрипт:
<script type="text/javascript">
$(document).ready(function(){
msg = new Array();
var basket = '';
var totalprice = 0;
var iii='';
var tt=':';
var totalCountGoods = 0;
if (!$.cookie("basket")) {$.cookie("basket", '', {path: "/"});}
basket = decodeURI($.cookie("basket"));
basketArray = basket.split(",");// Находим все товары
for(var i=0; i<basketArray.length-1;i++) {
goodsId = basketArray[i].split(":"); // Находим id товара, цену и количество
totalCountGoods+=parseInt(goodsId[1]);
iii+=tt+parseInt(goodsId[0]);
totalprice+=parseInt(goodsId[1])*parseInt(goodsId[2]);
}
if (totalprice > 0) {
$('#clearBasket').show();
$('#checkOut').show();
$('.hPb').show();
$('.hPe').hide();
}
if (!totalprice) {totalprice = 0;}
$('#totalPrice').text(totalprice);
$("#cena").val(totalprice);
$("#one").val(iii);
$('#totalGoods').text(totalCountGoods);
});
$('a.addCart').click(function() {
data = $(this).attr('id').split('-');
addCart(data[1], data[2], 1);
return false;
});
function addCart(p1, p2, p3){
if (!p3 || p3==0) {p3=1;}
msg.id = p1; // АйДи
msg.price = parseInt(p2); // Цена
msg.count = parseInt(p3); // Количество
var check = false;
var cnt = false;
var iii='';
var tt=':';
var totalCountGoods = 0;
var totalprice = 0;
var goodsId = 0;
var basket = '';
$('#clearBasket').show();
$('#checkOut').show();
$('.hPb').show();
$('.hPe').hide();
basket = decodeURI($.cookie("basket"));
if (basket=='null') {basket = '';}
basketArray = basket.split(",");
for(var i=0; i<basketArray.length-1;i++) {
goodsId = basketArray[i].split(":");
if(goodsId[0]==msg.id) // ищем, не покупали ли мы этот товар ранее
{
check = true;
cnt = goodsId[1];
break;
}
}
if(!check) {
basket+= msg.id + ':' + msg.count + ':' + msg.price + ',';
} else {
alert("Уже есть в корзине!");
}
if(!check) {
alert("Добавлено!");
basketArray = basket.split(",");// Находим все товары
for(var i=0; i<basketArray.length-1;i++) {
goodsId = basketArray[i].split(":"); // Находим id товара, цену и количество
totalCountGoods+=parseInt(goodsId[1]);
iii+=tt+parseInt(goodsId[0]);
totalprice+=parseInt(goodsId[1])*parseInt(goodsId[2]);
}
$('#totalGoods').text(totalCountGoods);
$("#one").val(iii);
$('#totalPrice').text(totalprice);
$("#cena").val(totalprice);
$.cookie("totalPrice", totalprice, {path: "/"});
$.cookie("basket", basket, {path: "/"});
}
}
$('#clearBasket').click(function() {
$.cookie("totalPrice", '', {path: "/"});
$.cookie("basket", '', {path: "/"});
$('#totalPrice').text('0');
$('#totalGoods').text('0');
$('.hPb').hide();
$('.hPe').show();
$(this).hide();
$('#checkOut').hide();
$.jGrowl("Корзина очищена!");
return false;
});
</script>
Это скрипт добавления товара. Я предполагаю что на его же основе можно сделать скрипт удаления. Я пробовал сделать но что могу сказать вспоминаю JS. но работа с cookie для меня вообще не понятна особенно когда это чужой скрипт, который я просто оптимизировал.
Может кто разбирается в этом и может помочь, опишет и расскажет как это сделать напишет пример и поможет оптимизировать скрипт, я тому пару рублёв закину на счёт за труд.
Вот демо сайт с компонентом
http://test.eroteks.ru/component/pri...iew=tovar&id=1
Не обращайте внимания на беспорядок и цифры в корзине это я тестю id товара что бы удалить.
Вся суть в том что я не просто хочу написать скрипт а понять как и что работает.
Как я понял нужно извлечь массив, удалить элемент и записать заново.