15

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

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

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

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

4

2 に答える 2

16

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

oTable.fnUpdate( newValue, rowPos, columnPos);

仮定oTableはデータテーブルへの参照です。

于 2010-07-21T13:34:40.340 に答える
1

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

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

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

$("#currentRow").val()

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

$("#currentRow").html()
于 2010-07-21T13:05:48.520 に答える