Jquery DataTables - изменение значения ячейки, а не только отображаемое значение

Использование DataTables Я хочу изменить значение данных перед рендерингом таблицы. Я использовал это:

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

Но я обнаружил, что, хотя я изменил отображаемый текст на 0-6, когда я сортирую по столбцу, он все еще сортируется по данным, а не с отображаемым текстом.

Кто-нибудь знает, как я могу реально изменить данные в ячейке, чтобы при сортировке я правильно сортировал их на 0-6?

Ответы

Ответ 1

Вам нужно обновить datatable, а не html.

oTable.fnUpdate( newValue, rowPos, columnPos);

Предполагая, что oTable является ссылкой на данные.

Ответ 2

Вероятно, вы должны вставить еще один код, особенно область сортировки.

Кажется, вы смешиваете val() и html():

Это даст вам значение ввода или ячейки, как в теге значений "value =?"

$("#currentRow").val()

Это даст вам фактический html (данные) между тегом "<td> data </td> "

$("#currentRow").html()