2012-05-08 103 views
0

我正在使用jQuery UI可拖动,并允许用户更改列表的顺序,当他们完成时我打算让他们点击一个按钮,我将创建一个JSON文件与他们当前的列表顺序,什么是最好的由于列表顺序不是写在html文件上,所以使用jquery做类似这样的事情?什么是获取当前列表顺序的最佳方式?

ps:每个li标签和ul标签可能有一个id。

+4

我敢肯定,当你拖动一个jQuery UI [排序](http://jqueryui.com/demos/sortable/)项目中,DOM其实是在改变和'li'元素将在为了你看到它们。 http://jqueryui.com/demos/draggable/#sortable – Blazemonger

+1

http://stackoverflow.com/a/4856309/29995 –

回答

0

扩展金的回答。如果你不能保证每个项目都有一个id,并且你使用的是jQuery。您应该使用jQuery.data()jQuery data()将上下文附加到项目,以便您知道哪个是哪个项目。如果该上下文仅仅是原始订单,它将看起来像这样。

jQuery(myListItemSelector).each(function(index, item){ 
    // Do something here... 
    jQuery(this).data("index", index); 
}); 

然后,当您保存它时,您可以再次循环并将该索引值拉出。如果有一些其他的定义值会使这些独特,那么对于你来说比索引更容易。像这样的情况下,像GUID这样的东西确实派上用场。

1

您可以使用

jQuery(myListItemSelector).each(function(index, item){ 
    // Do something here... 
}) 

遍历提取ID,属性或内容到您的JSON列表中的项目。

相关问题