Строка 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"
.... он отлично работает.