admin管理员组

文章数量:1426950

/

t = $('#example').DataTable();
$('tbody tr').click(function() {
  $(this).find('td:last').text('B');

  //get back data
  var tr = $(this);
  var row = t.row(tr); // worked!
  console.log(row.data()); // won't work
});

Everything seems to work but when I do row.data(), it got me back the old data before DOM manipulation. It seems like I have to somehow 'update' the datatable. How to manipulate column data programmatically using jquery?

http://jsfiddle/c3coukLz/

t = $('#example').DataTable();
$('tbody tr').click(function() {
  $(this).find('td:last').text('B');

  //get back data
  var tr = $(this);
  var row = t.row(tr); // worked!
  console.log(row.data()); // won't work
});

Everything seems to work but when I do row.data(), it got me back the old data before DOM manipulation. It seems like I have to somehow 'update' the datatable. How to manipulate column data programmatically using jquery?

Share Improve this question asked May 20, 2016 at 16:54 Jamie JordanJamie Jordan 2511 gold badge5 silver badges16 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 2

You can use cell for altering data. indicate the row and column of the cell to modify. Use data to assign the new value and draw to refresh the table.

Try this code:

$('#example tbody').on( 'click', 'tr', function () {
   //get back data
   var row = t.row( this );
   t.cell(row, 4).data("B").draw();
   console.log(row.data());
});

Result: http://jsfiddle/cmedina/c3coukLz/1/

本文标签: javascriptdynamically change column data dataTablesStack Overflow