web-dev-qa-db-ja.com

jqueryDataTables-表示値だけでなくセルの値を変更する

DataTables を使用するテーブルをレンダリングする前に、データの値を変更したいと思います。私はこれを使用しました:

"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
    if ( aData[2] == "0" ){
        $('td:eq(1)', nRow).html( '<b>6</b>' );
    }
}

しかし、表示されるテキストを0から6に変更したにもかかわらず、列で並べ替えると、表示されるテキストではなくデータで並べ替えられていることがわかりました。

セル内のデータを実際に変更して、並べ替えたときに0〜6で正しく並べ替えられるようにする方法を知っている人はいますか?

15
Shibbott

HTMLではなくデータテーブルを更新する必要があります。

oTable.fnUpdate( newValue, rowPos, columnPos);

oTableがデータテーブルへの参照であると仮定します。

16
Yisroel

おそらく、コードの一部、特に並べ替え領域を貼り付ける必要があります。

Val()とhtml()を混同しているようです:

これにより、値タグ「value =?」のように入力値またはセル値が取得されます。

$("#currentRow").val()

これにより、タグ「<td> data </ td>」の間の実際のhtml(データ)が取得されます

$("#currentRow").html()
1
Organiccat