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 回答