jQuery Sortable - 使用元素的数据作为属性?

时间:2013-01-27 05:44:10

标签: jquery jquery-ui-sortable

我想使用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_itemwoIDwoTypetitlebackgroundColor,{{ 1}}和pos。理想情况下,我可以使用这些数据值生成一个数组,以便我的数组看起来像这样:rt_item等......

这可能吗?

1 个答案:

答案 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');

检索已排序的列表