次のようなテーブルを含むページがあります (「名前」列で自動的にソートされます)
Name Open Num Total Num
-----------------------------------
Doe, John 0 0
Smith, Sarah 4 3
Tyler, Rose 7 8
2番目は次のtr
ようになります。
<tr id="1"><td class="N">Smith, Sarah</td><td class="O">4</td><td class="T">3</td></tr>
行 ID はカウンター (最初の行 = 0、2 番目 = 1、3 番目 = 2 など) であり、セル クラスは jQuery を使用して列を取得します (列を指定し$(".O")
ますOpen Num
) 。
Open Num
数値列 (および)に基づいてテーブルを並べ替えようとしていますTotal Num
。したがって、出力は次のようになります (Open Num
またはでソートTotal Num
):
Name Open Num Total Num
-----------------------------------
Tyler, Rose 7 8
Smith, Sarah 4 3
Doe, John 0 0
これまでのところ、数値を配列arrQuick
に格納し、行番号を別の配列に格納していrowCount
ます。次に、Quick Sort メソッドを使用してデータを並べ替え、同時に 2 番目の配列を並べ替えます。これは完全に機能します。これで、並べ替えられたデータと行の順序がわかりました。
問題
テーブルの行を正しく更新する方法がわかりません。
これまでのところ、私はこれを持っています。
for(var i=0;i<rowCount.length;i++){
var tmpHolder=$("#"+i).html();
$("#"+i).html($("#"+rowCount[rowCount.length-(i+1)]).html());
$("#"+rowCount[rowCount.length-(i+1)]).html(tmpHolder);
}
ステップスルーすると、最初は更新が機能していることがわかります。ただし、最終的には、行が更新されるべきではない場所に更新されるようになり、その理由はわかりません。