Строка dataTable fnUpdate с новым значением

Я использую datatables и имеет этот элемент tr в table

<tr class="gradeA even row_selected" id="3692">
  <td class=" sorting_1">3692</td>
  <td class="">koza</td>
  <td class="" title="10:12:30">2013-12-31</td>
  <td class="">2014-02-06</td>
  <td class="">FULL packet</td>
  <td class="">NONE</td>
  <td class="">Name</td>
</tr>

Я хотел бы обновить 1-й и 4-й элементы td с помощью функции fnUpdate. Я попытался обновить только один td, но он не обновляется.
В Chrome, в журнале консоли, я получаю эту ошибку:

Uncaught TypeError: невозможно установить свойство '_aData' из undefined

Вот что я пробовал:

 // dynamically update row
 $('#example').dataTable().fnUpdate( ['Zebra'], parseInt('3692'));

3692 - это идентификатор элемента td, чтобы узнать, какую строку мне нужно обновить, а значение zebra - значение. Я знаю, что я не включил эту ячейку для обновления, но я не знаю, как это сделать. В datatables api приведен следующий пример:

oTable.fnUpdate( ['a', 'b', 'c', 'd', 'e'], 1 ); // Row

Ответ 1

Ознакомьтесь с документами здесь http://datatables.net/api

Ваш вопрос не является полным, так как вам нужно указать, какой столбец (td) вы хотите изменить, но вот что я хотел бы попробовать (при условии, что вы хотите обновить второй столбец).

$('#example').dataTable().fnUpdate('Zebra' , $('tr#3692')[0], 1 );

Второй параметр будет строкой, а третий - столбцом.

Обратите внимание, что я передал строку.

Ответ 2

Я предпочитаю это:

var myDataTable= $('#myDataTableId').DataTable();
var row = myDataTable.row( '#idRow');
myDataTable.cell(row, 2).data("New Text").draw();

Примечание:

2 - столбец, ячейка внутри измененной строки.

Ответ 3

Это работает для меня

var tableRow = $(this).closest('tr').index(); // GET TABLE ROW NUMBER
$('#table').dataTable().fnUpdate('Zebra', [tableRow], 1, false)

Ответ 4

Вам не нужно указывать столбец. Ваша проблема в том, что вы используете идентификатор строки, когда документ указывает, что 2-й аргумент может быть индексом aoData или элементом.

Убедитесь, что количество столбцов правильно, но вы должны сделать это так:

 $('#example').dataTable().fnUpdate( ['Zebra'], $('#example tr#3692')[0]);

Ответ 5

Try:

$('#datatable').dataTable().fnUpdate(result, $('[data-id=' + idvalue + ']'), 8 );

Это лучший способ обновить значение столбца без ошибок и добавить строку таблицы с помощью data-id="row id value".... он отлично работает.