我有一个像这样的可排序列表:http://jqueryui.com/demos/sortable
是否有可能在列表移动时获取元素的开始和结束位置?我在谈论他们的位置编号,在列表中。
例如,如果我将元素2移动到列表中的第5位,我想将这两个数字分配给变量。
我是jQuery的新手 - 非常感谢任何帮助。
答案 0 :(得分:32)
解决方案:
$(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);
}
});
});
答案 1 :(得分:1)
我相信您要做的事情是使用serialize method完成的。 Serialize是获取列表的新顺序。
答案 2 :(得分:1)
出于某种原因,ui.item.index()
对我不起作用。
这样做了:
update: function (event, ui)
{
var index = $('li', $(ui.item).parent()).index(ui.item);
alert(index);
}