Получение положения элемента в списке, когда это, перетаскивает/отбрасывает (ui.sortable)

У меня есть поддающийся сортировке список как этот: http://jqueryui.com/demos/sortable

Действительно ли возможно получить запуск и конечное положение элемента в списке, когда это было перемещено? Я говорю об их числе положения в списке.

Например, если бы я перемещаю элемент 2 в положение 5 в списке, я хотел бы присвоить те два номера переменным.

Я плохо знаком с jQuery - любая справка очень ценилась бы.

12
задан Luca Filosofi 8 April 2011 в 14:40
поделиться

3 ответа

РЕШЕНИЕ:

$(function() {
    $('ul#sortable').sortable({
        start: function(event, ui) {
            var start_pos = ui.item.index();
            ui.item.data('start_pos', start_pos);
        },
        update: function(event, ui) {
            var start_pos = ui.item.data('start_pos');
            var end_pos = ui.item.index();
            alert(start_pos + ' - ' + end_pos);
        }
    });
});
  • ПРИМЕЧАНИЕ: Обновлено для использования метода jQuery data() по совету Alconja
32
ответ дан 2 December 2019 в 04:25
поделиться

По какой-то причине ui.item.index () у меня не работал.

Это сделали:

update: function (event, ui) 
{
    var index = $('li', $(ui.item).parent()).index(ui.item);
    alert(index);
}
1
ответ дан 2 December 2019 в 04:25
поделиться

Я считаю то, что вы хотите сделать, выполняется с помощью метода сериализации . Serialize - получить новый порядок списка.

1
ответ дан 2 December 2019 в 04:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: