2012-05-08 3 views
0

Я использую jquery ui draggable и позволяю пользователю изменять порядок списка, когда они закончены Я планирую, чтобы они нажали кнопку, и я создам файл json с их текущим порядком списка, что лучше способ сделать что-то вроде этого с помощью jquery, поскольку порядок списка не написан на html-файле?Какой лучший способ получить текущий список?

ps: каждый li тег и ul тег может иметь идентификатор.

+4

Я уверен, что при перетаскивании элемента jQuery UI [sortable] (http://jqueryui.com/demos/sortable/) DOM фактически изменен, а элементы 'li' будут находиться в чтобы вы их видели. http://jqueryui.com/demos/draggable/#sortable – Blazemonger

+1

http://stackoverflow.com/a/4856309/29995 –

ответ

0

Расширение ответа Ким. Если вам не гарантировано, что каждый элемент имеет идентификатор, и с тех пор, как вы используете jQuery. Вы должны использовать jQuery.data() или jQuery data(), чтобы прикрепить контекст к элементам, чтобы вы знали, какой из них. Он будет выглядеть примерно так, если этот контекст является только первоначальным порядком.

jQuery(myListItemSelector).each(function(index, item){ 
    // Do something here... 
    jQuery(this).data("index", index); 
}); 

Затем, когда вы его сохраняете, вы можете снова прокрутить и вытащить это значение индекса. Если есть какое-то другое определяющее значение, которое сделает их уникальными, вам будет проще, чем индексу. Что-то вроде GUID действительно пригодится в таких ситуациях.

1

Вы можете использовать

jQuery(myListItemSelector).each(function(index, item){ 
    // Do something here... 
}) 

Переберите пунктов извлечения ID, атрибут или содержимое в свой список JSON.

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