处理jQuery上的可排序列表

时间:2015-04-11 12:57:22

标签: javascript jquery

我使用“可排序”脚本(http://farhadi.ir/projects/html5sortable/)在我的Web应用程序上有一个可排序的项目列表。分拣部分效果很好。但现在,我需要能够ping回我的服务器,以便在事情发生变化时设置顺序。

捕获该事件的方法是:

$('.sortable').sortable().bind('sortupdate', function() {
    //Triggered when the user stopped sorting and the DOM position has     changed.
});

如何了解新职位以通知我的服务器? 由于列表很小,我想到了两种方法:

1 - 了解项目被拖动的位置,查看下方的位置并向我的服务器发送某种“插入”更新功能,以便将新项目插入该位置。

2 - 只需浏览列表中的所有项目,按顺序捕获其ID并将新ID列表发送到服务器,并让服务器根据该列表重新构建索引。

我可以处理ruby代码,但我是JS / Jquery的灾难。

因此,如果我选择选项1 - 如何识别新项目的位置以及如何识别其下方的项目?

如果我选择选项2 - 如何按照它们所处的确切顺序(它们的DOM顺序)迭代所有li项目,以便我可以构建此列表并将其发送回服务器?

1 个答案:

答案 0 :(得分:1)

在触发更新时读取lis的id

var ids = $(".sortable").find("li").map( function(txt, elem){
   return elem.id
} ).get();
console.log(ids);