1

我想使用该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_itemwoIDwoTypetitlebackgroundColorposrt_item[<sch_item value>, <another sch_item value>]

这可能吗?

4

1 回答 1

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

于 2013-01-29T08:20:11.340 回答