使用jquery.ui.sortable更新列表

时间:2012-10-03 13:31:36

标签: javascript jquery jquery-ui sorting

我有一个编号的清单。
在对项目进行排序时,我需要更新与列表中的位置相对应的数字。

这是我的代码:

$(".sortable").sortable({
    stop: function(event, ui) {
        var prevPos = ui.item.find('.position').text();
        var newPos  = ui.item.index() + 1
        ui.item.find('.position').text(newPos);
        console.log(prevPos);
    }
});

我的问题是如何更新其他项目?
例如,当我将罗伯特从3dt移动到第一个?

您可以在此链接看到演示:http://jsfiddle.net/UAcC7/106/

1 个答案:

答案 0 :(得分:1)

这样的事情怎么样:

$(".sortable").sortable({
    stop: function(event, ui) {
        $('.sortable li').each(function(i) {
            $(this).find('span').text(++i);
        });
    }
});

您每次都会更新所有项目,甚至是理论上不需要它的项目。但是,我认为它会更快,因为你不需要遍历DOM并进行索引计算等。

http://jsfiddle.net/UAcC7/107/