запись cookie
Доброго времени суток, как можно в куки записать дум элементы
Вот пример кода
function addCartItem(item) {
var catid = $(item).attr("data-catid");
var $img = $(".catalog-list").find('a[data-catid="' + catid + '"]').find(".img-wrap img").clone();
var newItemCont = $("<div/>", {
"class": 'cart-item',
"data-catid": catid
});
var newItem = newItemCont.clone().append($img);
var newItem2 = $(".catalog-list").find('a[data-catid="' + catid + '"]').contents().clone();
newItem2 = newItemCont.clone().append(newItem2);
newItem2.append("<div class='row'><a href='#' class='remove-from-cart'>выкинуть</div>");
$.cookie("cart-small", newItem); //записываем содержимое в куки
$.cookie("cart-modal", newItem2); //записываем содержимое в куки
//
// ADD in small cart
$("#cart .full .cart-items").append(newItem);
// ADD in modal cart
$("#modal-cart .cart-items").append(newItem2);
updateSumItemsInCart();
updateNavMainSubHeight();
checkAndSetCartScroll();
//console.log($.cookie("cart"));
}
При такой записи получается абракадабра в куках. Спасибо за помощь) |
document.cookie – это строка. Соответственно, в cookie возможно записать только стоковые данные, поэтому, чтобы запомнить какой-то элемент разметки, можно записать, например, идентификатор этого элемента.
|
В куках следует хранить данные в json-формате.
Судя по всему ты пытаешься сделать корзину. Если загрузка страничек у тебя через ajax, то можно использовать namespace для хранения dom-элементов (window['myNS'] = {'cart-small:newItem'}). При перзагрузке все пропадет конечно, что в отношении корзины покупок плохо по многим причинам. Так что лучше тебе почитать как устроены корзины и переделать(например хранить id товаров в куках, и выводить из базы) |
| Часовой пояс GMT +3, время: 07:35. |