получить начальную позицию элемента, используя сортируемый плагин jquery ui - PullRequest
5 голосов
/ 12 апреля 2010

Я использую сортируемый плагин jQuery UI и пытаюсь получить 2 оповещения

Я хочу начальную позицию элемента и конечную позицию элемента.

$(function() {
    $("#filterlist ul").sortable({ opacity: 0.6, cursor: 'move', update: function(event, ui) {
            alert(ui.item.prevAll().length + 1);
        }
    });
});

Я могу получить позицию элемента после его перетаскивания, используя: -

ui.item.prevAll().length + 1

Что я использую, чтобы получить позицию, с которой он начал?

Ответы [ 2 ]

11 голосов
/ 12 апреля 2010
$(function() {

    $("#sortable").sortable({
       start: function(event, ui) { console.log('before @ '+ ui.item.index()) },
       update: function(event, ui) { console.log('now @ '+ ui.item.index()) }
    });

});​

попробуйте это демо и посмотрите на консоль ...

10 голосов
/ 12 апреля 2010

Используйте событие start и «кешируйте» начальную позицию

var start;
$(function() {
    $("#filterlist ul").sortable({
        opacity: 0.6,
        cursor: 'move',
        start: function(event, ui) {
            start = ui.item.prevAll().length + 1;
        },
        update: function(event, ui) {
            alert(start + " -> " + (ui.item.prevAll().length + 1));
        }
    });
})
...