2013-02-16 65 views
0

我有一个未知大小的jQuery可排序列表,当某个项目被重新定位时,我需要更新项目排序。我有物品位置显示,并且当物品移动时我有位置更新,但是当物品移动时,其他位置不会更新。例如,如果我的可排序列表中有3个项目的顺序为1,2,3,我决定将项目2移动到位置3,则新排序为1,3,3。我希望它更新为1,2,3。想法我怎么能做到这一点?这是我更新位置的代码。谢谢。jQuery可排序列表订购

$("#sortable2").sortable({ 
     stop: function(event, ui) { 
      var id = $(ui.item).attr('id'); 
      $("#" + id).html(ui.item.index() + 1); 
     } 
    }); 
+0

应该不动第2项至第3位应该给你1,3,2? – greener 2013-02-16 05:32:05

+0

1,3,3是显示的索引(ui.item.index()),因此当您将项目2移动到位置3时,其索引更新为3 – ewein 2013-02-16 05:33:17

回答

1

试试这个:

$("#sortable").sortable({ 
    stop: function(event, ui) { 
     $('li').each(function(idx){ 
      $(this).html(idx+1); 
     }); 
    } 
}); 

基本上,你需要遍历每个元素。另外,索引是基于0的。

JSFIDDLE

+0

需要对我的问题稍微调整一下,但主要是在那里。谢谢。 – ewein 2013-02-16 05:53:05