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 に答える