我想使用sortable("toArray")
方法。但是,我不想使用元素id
的默认属性。我知道我可以这样做:
var arr = ("#my_list").sortable("toArray", { attribute: something_else });
但我相信这是不是数据值,而是元素的正常属性。相反,我希望能够使用我存储在元素本身中的一些数据。
例如,我的sortable
列表中的列表项可能如下所示(使用FireBug查看...有点,我猜看看起来有点不同):
<li class="wo-event wo-event-red" style="">Service | Hancock</li>
sch_item="189"
woID="R-130109-072"
woType="R"
title="Service | Hancock"
backgroundColor="red"
pos="3"
rt_item=192
因此,对于上述<li>
,我的数据值为sch_item
,woID
,woType
,title
,backgroundColor
,{{ 1}}和pos
。理想情况下,我可以使用这些数据值生成一个数组,以便我的数组看起来像这样:rt_item
等......
这可能吗?
答案 0 :(得分:0)
考虑到这一点,有一种方法可以做到这一点。您可以创建自己的迭代器。
因此,如果您希望每次对列表进行排序时生成sch_item
的排序数组:
$("#my_list").sortable({
stop: function(event, ui) {
var arrayOfCustomData = [];
$(this).find('li').each(function(index, item) {
arrayOfCustomData[index] = item.data('sch_item');
});
$(this).data('sch_item_sorted',arrayOfCustomData);
}
});
然后您可以随时使用$("#mylist").data('sch_item_sorted');