並べ替え可能でドラッグ可能なjQuery UIを一緒に使用すると、非常に具体的な問題が発生します。新しくドラッグされた要素のリストでインデックス/配置を取得できるようにしたい。リスト内で要素を移動すると、これを取得できます。
$("#draggable").draggable({
cursor: "move",
helper: "clone",
connectToSortable: ".sortable"
});
$( ".sortable" ).sortable({
items: 'li',
stop: function(event, ui) {
index = ui.item.index()+1;
console.lo(index);
},
connectWith: ".sortableSub",
appendTo: 'body',
}).disableSelection();
上記のコードは正常に機能しますが、ドラッグされた要素で同じことを行うと.
receive: function(event, ui) {
console.log(ui.item.index());
},
receive: の代わりに stop: で同じことをすると、ui.item.index を使用すると 0 が返されます。代わりに -1 が返されます。