jquery DataTables-更改单元格的值而不仅仅是显示值

jquery DataTables-更改单元格的值而不仅仅是显示值,jquery,datatables,Jquery,Datatables,使用我希望在呈现表之前更改数据的值。我用了这个: "fnRowCallback": function( nRow, aData, iDisplayIndex ) { if ( aData[2] == "0" ){ $('td:eq(1)', nRow).html( '<b>6</b>' ); } } “fnRowCallback”:函数(nRow、aData、iDisplayIndex){ 如果(数据[2]=“0”){ $('td:eq(

使用我希望在呈现表之前更改数据的值。我用了这个:

"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
    if ( aData[2] == "0" ){
        $('td:eq(1)', nRow).html( '<b>6</b>' );
    }
}
“fnRowCallback”:函数(nRow、aData、iDisplayIndex){
如果(数据[2]=“0”){
$('td:eq(1'),nRow).html('6');
}
}
但我发现,虽然我将显示的文本更改为0到6,但当我按列排序时,它仍然按数据排序,而不是按显示的文本排序


有人知道我如何实际更改单元格中的数据,以便在排序时正确地按0-6排序吗?

您可能应该粘贴更多的代码,尤其是排序区域

您似乎混淆了val()和html()

这将获得值标记“value=?”中的输入值或单元格值

这将获得标记“data”之间的实际html(数据)


您需要更新datatable,而不是html

oTable.fnUpdate( newValue, rowPos, columnPos);

假设
oTable
是对数据表的引用

大家好,这里有“fRowCallback”:函数(nRow,aData,iDisplayIndex){if(aData[2]=“0”){$('td:eq(1)”,nRow).html('2');nRow}else if(aData[2]=“1”){$('td:eq(1)”,nRow.html('1');}else if(aData[2]=“2”){$('td:eq(1)”,nRow.html('0'));return nRow;},我试图实现的是反转从服务器数据获得的优先级(6高优先级-0低优先级),以便按优先级升序排序(0高-6低)。非常感谢您的帮助在FNROW回调后,我进行此排序,以尝试按修改后的最佳匹配(优先级)“aaSorting”进行排序:[[2,“asc”]],“aoColumns”:[/*复选框*/{“bSortable”:false},/*ID*/{“bVisible”:false},/*最佳匹配*/null,/*VenuName*/null,/*距离*/null,/*容量*/null,/*会议室*/null,/*卧室*/null,/*适用性*/null]});谢谢,我会在几天前给你,我想我需要jeditable ti使用fnUpdate,是吗?你不需要使用jeditable,只需要使用fnUpdate。jeditable本身除了在示例中调用fnUpdate之外没有做任何特殊的事。fnUpdate实际上并没有更改DOM正确吗?我更改了值,但是当有人筛选时,相同的行被删除d再说一遍,如何改变它,使改变成为永久性的。
$("#currentRow").html()
oTable.fnUpdate( newValue, rowPos, columnPos);