あなたの質問が正しく理解できれば、基本的に、これを達成するために必要な特定の情報は1 つだけです。それは、テーブル内の行 (ユーザーが並べ替えている行) の最初の位置です。
これを取得するにはさまざまな方法がありますが、おそらく最も簡単な方法は、テーブルを生成するときに各行のデータ属性を設定して、その行の初期位置を保持することです。
例:
$.each($YOURTABLE.children(), function(idx, val) { val.data('position', idx);});
あとは、sortstopイベントで値を取得し、その行の新しい位置と比較するだけです。
$YOURTABLE.bind('sortstop', function(event, ui) {
//$(ui.item[0]) selects the user-selected row
var oldPosition = $(ui.item[0]).data('position'),
newPosition;
//get row's new position
$.each($YOURTABLE.children(), function(idx, val) {
if($(val) === $(ui.item[0]))
newPosition = idx; //store new position
}
//now compare
if(oldPosition > newPosition)
////alert user row (oldPosition) moved up
else if(oldPosition < newPosition)
////alert user row (oldPosition) moved down
//refresh all row positions using first code example
}
});
うまくいけば、それはあなたを正しい方向に向けるはずです.