dataTable fnUpdate具有新值的行

时间:2013-12-31 19:41:11

标签: javascript jquery datatables row

我正在使用数据表并在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>

我想使用td函数更新第1和第4个fnUpdate元素。我曾尝试仅更新一个td,但不会更新 在Chrome中,控制台日志我收到此错误:

  

未捕获的TypeError:无法设置未定义的属性'_aData'

以下是我的尝试:

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

3692td元素的ID,用于了解我需要更新哪一行,zebra是要更改的值。我知道我没有包括要更新的单元格,但我不知道该怎么做。在datatables api上,给出了以下示例:

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

5 个答案:

答案 0 :(得分:13)

请查看此处的文档http://datatables.net/api

您的问题尚未完成,因为您需要指定要修改的列(td),但这是我要尝试的内容(假设您要更新第二列)。

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

第二个参数是行,第三个是列。

请注意,我传入了一个字符串。

答案 1 :(得分:3)

我更喜欢这个:

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

<强> 注意:

2是列,修改行内的单元格。

答案 2 :(得分:1)

这对我有用

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

答案 3 :(得分:0)

您无需指定列。您的问题是,当doc声明第二个参数可以是aoData索引或元素时,您正在使用行ID。

确保您的列数正确无误,但您应该可以这样做:

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

答案 4 :(得分:-1)

尝试:

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

这是更新列值而不出错的最佳方法,并使用data-id="row id value"添加表格行....它可以正常工作。