не в том суть повторного сбора в строку.
Данные отправляются не скрытым полем, а обычным через $_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);