Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.08.2013, 19:51
Новичок на форуме
Отправить личное сообщение для kuznetsov131 Посмотреть профиль Найти все сообщения от kuznetsov131
 
Регистрация: 04.08.2013
Сообщений: 5

Сохранить вложенный список
Доброго времени суток. Есть следующая задача, хранить в куках вложенный список. С обычным (без вложений) проблем не возникает, но вот как работать с вложенным пока не знаю. Очень прошу помощи.
Пример списка:
<ul id="list">
<li>3rd floor</li>
<li>2nd floor
<ul>
<li>3.1 floor</li>
<li>2.1 floor</li>
<li>1.1 floor</li>
</ul>
</li>
<li>1st floor</li>
</ul>
Ответить с цитированием
  #2 (permalink)  
Старый 04.08.2013, 20:17
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

Цитата:
С обычным (без вложений) проблем не возникает, но вот как работать с вложенным пока не знаю
а как вы сохраняете обычный список, что не можете сохранить вложенный?
это задачи одинаковой сложности

и что на самом деле значит "сохранить список"? список чего?

Последний раз редактировалось mta88, 04.08.2013 в 20:21.
Ответить с цитированием
  #3 (permalink)  
Старый 04.08.2013, 20:23
Новичок на форуме
Отправить личное сообщение для kuznetsov131 Посмотреть профиль Найти все сообщения от kuznetsov131
 
Регистрация: 04.08.2013
Сообщений: 5

Сохраняю вот так
saveList: function() {
var listObject = {};
var str = ' ';
for (var count = 0; count < list.children.length; count++ ) {
listObject.pos = count;
listObject.val = list.children[count].innerHTML;
str += JSON.stringify(listObject);
}
setCookie('list', str, 1);
}
Потом когда достаю из кук список, разбиваю Split`ом, создаю объект через JSON.parse и потом создаю список
Ответить с цитированием
  #4 (permalink)  
Старый 04.08.2013, 20:25
Новичок на форуме
Отправить личное сообщение для kuznetsov131 Посмотреть профиль Найти все сообщения от kuznetsov131
 
Регистрация: 04.08.2013
Сообщений: 5

Ну и в принципе вопрос можно поставить немного иначе. Как сохранить, список в куки, а потом восстановить список из кук
Ответить с цитированием
  #5 (permalink)  
Старый 04.08.2013, 20:38
Новичок на форуме
Отправить личное сообщение для kuznetsov131 Посмотреть профиль Найти все сообщения от kuznetsov131
 
Регистрация: 04.08.2013
Сообщений: 5

Сообщение от mta88 Посмотреть сообщение
и что на самом деле значит "сохранить список"? список чего?
Пример списка я привел, это обычный HTML список с произвольным текстом. Суть в том, что каждый пользователь может изменять список (добавлять элементы, удалять, изменять). Вот это все и нужно хранить в куках, что бы пользователю загружался именно его список, а не дефолтный.
Не могу понять как правильно обрабатывать детей (вложенный список). При сохранении JSON выглядит так:
{"pos":0,"val":"3rd floor\n
\n
3.1 floor
\n
2.1 floor
\n
1.1 floor
\n
\n "}{"pos":1,"val":"2nd floor"}{"pos":2,"val":"1st floor"}
И восстановить список из этого JSON не получается. Я понимаю, что делаю что то не так, возможно в корне неправильно подошел к решению задачи. Поэтому и спрашиваю
Ответить с цитированием
  #6 (permalink)  
Старый 04.08.2013, 21:15
Новичок на форуме
Отправить личное сообщение для kuznetsov131 Посмотреть профиль Найти все сообщения от kuznetsov131
 
Регистрация: 04.08.2013
Сообщений: 5

Сори, проверил - сохраняет нормально. Извиняюсь за беспокойство
Ответить с цитированием
  #7 (permalink)  
Старый 05.08.2013, 05:43
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

вот оно как
логичнее кодировать список (либо его упрощенное представление) целиком в JSON, а не его куски -- тогда и будет "та же самая сложность", как я обещал
var list = [1,2,3,[4,5],7,8,[9,10,11]];
var list_cookie = JSON.strinify(list);
var list2 = JSON.parse(list_cookie);


но если в результате будут символы ';' и '=', они могут сломать cookie -- их надо как-то экранировать либо весь результат закодировать в base64

а вообще я бы хранил такие большие структуры на сервере, но вам виднее
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранить фокус на элементе? SkaN jQuery 11 31.08.2012 18:31
селект переделанный под список Vasёk18 Элементы интерфейса 0 13.04.2012 23:49
Эмулировать список через селект Nanto Элементы интерфейса 2 06.03.2012 11:54
Динамически разворачивающийся/сворачивающийся список tropiko jQuery 3 24.06.2011 10:38
Заполнить список значениями из динамически созданного выпадающего списка zhuzha Элементы интерфейса 0 17.08.2010 14:40