2017-11-04 5 views
0

クラス名が「datatable-responsive」の同じページに複数のデータテーブルがあります。私は放火犯を通して「表」を調べるとき、私は3つのテーブルを取得すべてのテーブル内のすべてのセルをデータテーブルで更新する方法

$('.datatable-responsive').each(function(i){ 
    var table = $(this).dataTable(); 

    table.cell('.normal-1').data(valToSet).draw(); 
}); 

...各テーブル内の各セルのcontenteを更新したいが、それはループに入っていません。どうやってやるの?

EDIT

は、ここで私はあなたが間違って子要素をターゲットにしようとしていると思いますjsFiddle

+1

、同様にあなたのマークアップの関連部分を投稿してくださいあなたをサポートするために独自のテストケースを構築する必要はありません。 – Connum

+0

jsFiddleを追加しましたか? Thx – sincos

答えて

0

あなたは、列のソート前処理の内部を更新するために、セルをinvalidate()する必要があります。

var table = $(this).DataTable(); 
table.cell(selector).data(randomNewVal).invalidate().draw(); 

更新フィドル - >https://jsfiddle.net/fnj0eb4m/11/

+0

はいそれは働いている!どうもありがとう! – sincos

+0

@sincos、よろしいですか?それがコメントでなければならないのか疑問だったが、今はフィドルで短い答えがある、私が信じる投稿のための本当の重複はない。 – davidkonrad

0

です。 table.cell('.normal-1')を使用する代わりに$(table).find('.normal-1');

私はこれをあなたのフィドルで置き換えましたが、正しい要素をターゲットにしていますが、私はまだ別の問題であると思われるvalToSet is not definedというコンソールでエラーが発生しています。希望が助けてくれる!また、編集

...あなたのループが完了していない理由は、ループを停止しているため、valToSet not definedエラーです。この行をコメントアウトすると、コンソールにテーブルが表示されます。

+0

値を変更しようとしていますが、column1をソートするときに新しい値を気にしません。ソートが機能していません。これが値を変更するdatatables関数を使用する理由ですそれを描く... – sincos

関連する問題