我正在使用jquery ui sortable,在我的dom元素中,我有一个名为“sortDate”的字段。我不是让人们更改更新这个DOM元素的日期,我想看看是否有一个很好的方法以编程方式对某个dom选择器可排序的jquery ui中的项目进行排序
例如,在下面的代码中,每个可排序项都有一个名为“itemDate”的范围。我正在以编程方式更改此值,我想要一个很好的方法来调用jquery ui sortable并说“通过”itemDate“范围中的值来获取此列表中的所有项目。
<ul id="sortable">
<li class="ui-state-default">Item 1<span class="itemDate">1 Apr 2014</span></li>
<li class="ui-state-default">Item 2<span class="itemDate">21 Apr 2014</span></li>
<li class="ui-state-default">Item 3<span class="itemDate">11 Apr 2014</span></li>
<li class="ui-state-default">Item 4<span class="itemDate">2 Apr 2014</span></li>
</ul>
这样的事情是作为一种节制方法存在的吗?还是我必须手动逐一手动滚动它?
答案 0 :(得分:2)
独立于ui-sortable,您可以使用javascript排序对列表进行排序,然后重新附加排序列表:
var list = $('#sortable');
list.children().sort(function(a,b) {
var getdat = function(el){return new Date( $(el).children('.itemDate').text())};
return getdat(a) - getdat(b);
}).appendTo(list);