Показать сообщение отдельно
  #13 (permalink)  
Старый 07.01.2013, 07:02
Аватар для mi.rafaylik
Кандидат Javascript-наук
Отправить личное сообщение для mi.rafaylik Посмотреть профиль Найти все сообщения от mi.rafaylik
 
Регистрация: 07.12.2012
Сообщений: 113

не в том суть повторного сбора в строку.
Данные отправляются не скрытым полем, а обычным через $_POST.
Мне нужно повторно собрать данные в строку для случая, если пользователь решит не отправлять форму, а вернётся в магазин и продолжит добавлять товары. Тогда произойдёт переход на другую страницу, и изменённые данные (например удаление какого-нибудь из товаров) не сохранятся.
Поэтому по событию нажатия любой кнопки удаления товара я собираю массивы в строку в то же состояние, из которого я их и доставал. такая вот камасутра )
Но сначала нужно поспать ))

Слегка изменил функцию разбора строки в массивы (в основном я поменял местами элементы массива, добавил комментарии между элементами и вывод новой суммы если к примеру количество больше одного):
var a = $.cookie("basket");
var b = a.replace(/;\s*$/,'').split(";");
function allItemsListConstruct (Z) {
	var str ='',zJ;
		for (var i=0; i<Z.length; i++){
			str+='<div>\r\n';
			zJ = Z[i].split(":");
			var itemPriceFinal = zJ[2] * zJ[1];
			str+=
			'<p class="item-name">'+zJ[0]+'</p> ('+
			'<p class="item-size">'+zJ[3]+'</p> '+
			'<p class="item-color">'+zJ[4]+'</p> '+
			'<p class="item-price">'+zJ[2]+'</p> грн.) - '+
			'<p class="item-copy">'+zJ[1]+'</p> шт. (' +
			'<p class="item-price-final">'+itemPriceFinal+'</p> грн.)'
			;
			str+='\r\n</div>\r\n'
		} return str;
}
var allItemsList = allItemsListConstruct (b);

Последний раз редактировалось mi.rafaylik, 07.01.2013 в 13:56.
Ответить с цитированием