2014-05-21 3 views
-1

У меня есть список элементов и jQuery Sortable plugin.jQuery сортируемые выпуски

После нажатия на кнопку активации сортировки, я делаю:

$(".sortable").sortable(); 
$(".sortable").sortable("option", "disabled", false); 

После нажатия на кнопку Сохранить новый заказ я сделать:

$(".sortable").sortable("option", "disabled", true); 
// Some Ajax to save actual positions 

После нажатия сброса заказа я делаю:

$(".sortable").sortable("cancel"); 
$(".sortable").sortable("option", "disabled", true); 

И еще вопрос:

Шаг 1: Я активирую сортировку, сортирую и сохраняю ее. Все в порядке.

Шаг 2: Теперь я снова нажимаю кнопку, чтобы активировать сортировку и снова сортировать. Теперь я передумаю, нажмите, чтобы сбросить кнопку сортировки. Но сортировка позиций возвращается задолго до этапа 1 :(

Мне нужно сохранить позицию отсортированных элементов после сохранения их на шаге 1, поэтому после нажатия кнопки сброса в шаге 2 эти предметы должны перейти в состояние после шага 1 .

большое спасибо

PS Извините за мой плохой английский

+0

Можете ли вы создать http://www.jsfiddle.net для своего кода? –

ответ

0

Попробуйте использовать локальное хранилище или хранения сессии -. зависит от того, что вы хотите есть ли у вас много или только один объект. аннотированный класс .sortable? Если у вас есть только один, есть простой решение - просто сохраните всех детей.

localStorage.setItem('storedChildren', JSON.stringify($(".sortable").children()); 

затем извлеките их, очистите $ (". Sortable") и поместите туда свои предметы. Ваш сброс будет состоять в размещении ранее сохраненных объектов.

P.S. Вероятно, вы должны обновить этот код, у меня мало опыта работы с JQuery.

+0

Спасибо, аналогичное решение у меня в моем уме тоже, но это кажется слишком уродливым, я надеюсь, что сам jquery может решить мою проблему. – czLukasss

Смежные вопросы