http://jsfiddle.net/2H2rx/Сохранение Sortables в LocalStorage
Возникли проблемы сохранения изменений в последний элемент в списке. Сортируемого
$("#sortable").sortable();
$("#sortable").on("sortupdate",function(event, ui) {
var sorted = $(this).sortable("serialize");
console.log(sorted);
localStorage.setItem('sorted', sorted) ;
});
if(localStorage.getItem("sorted") !== null){
var arrValuesForOrder = localStorage.getItem('sorted').substring(6).split("&div[]=");
var $ul = $("#sortable");
$items = $("#sortable").children();
// loop backwards so you can just prepend elements in the list
// instead of trying to place them at a specific position
for (var i = arrValuesForOrder[arrValuesForOrder.length - 1]; i >= 0; i--) {
// index is zero-based to you have to remove one from the values in your array
$ul.prepend($items.get((arrValuesForOrder[i] - 1)));
}
}
$("#sortable").disableSelection();
Я пытаюсь закодировать способ хранения сортировок в локальном хранилище. У меня небольшая проблема, которая, похоже, зависит от последнего элемента, и это происходит периодически, после нескольких раз. Что-то его нарушает? Он не будет загружать изменения в последний элемент через несколько раз или будет произвольно переупорядочивать их. Я не могу сказать. Чтобы реплицировать, вы должны загрузить ссылку, переупорядочить несколько раз, запустить несколько раз, переупорядочить еще несколько. В конечном итоге он не сохранит изменения в последнем элементе, по крайней мере, в Chrome 27.0.1453.110 м. Не проверял другие браузеры.
Я вижу множество других вопросов, задающих схожие вопросы, но на самом деле у меня есть полурабочее решение, просто у меня проблема с отладкой.
Редакция: Похоже, что ошибка возникает, когда № 1, 2 или 3 находится в конечной позиции. Возможно, это не правило, но для меня это более простой способ повторить его.
Это сделало. Огромное спасибо!! –