web-dev-qa-db-ja.com

dataTable fnUpdate行と新しい値

私はデータテーブルを使用しており、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を1つだけ更新しようとしましたが、更新されません。
Chromeでは、コンソールログに次のエラーが表示されます:

Uncaught TypeError:undefinedのプロパティ '_aData'を設定できません

これが私が試したものです:

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

3692は、更新する必要がある行を知るためのtd要素のIDであり、zebraは変更する値です。更新するセルが含まれていないことはわかっていますが、その方法がわかりません。 datatables apiでは、次の例が与えられます:

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

こちらのドキュメントを確認してください http://datatables.net/api

変更する列(td)を指定する必要があるため、質問は完全ではありませんが、ここで私が試してみます(2番目の列を更新する場合)。

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

2番目のパラメーターは行で、3番目のパラメーターは列です。

文字列を渡したことに注意してください。

13
josephtikva1

私はこれが好きです:

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

注:

2は列、変更された行内のセルです。

3
Dani

これは私のために働く

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

列を指定する必要はありません。あなたの問題は、2番目の引数がaoDataインデックスまたは要素であることができるとドキュメントが述べているときに、行IDを使用していることです。

列の数が正しいことを確認してください。ただし、次のようにできるはずです。

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