2016-07-19 6 views
1

cell().data()を使用してセルデータを設定できます。しかし、orthogonalセルのプロパティを更新するだけで、セルにレンダリングされるメインのdisplayデータは更新しないとどうなりますか?私。我々は、細胞のため、このデータを持っており、DOMでdisplayそのまま維持しながら、私たちはcurrent_valueを更新する:DataTablesのセルの直交(ただし表示されていない)データのみを更新する方法はありますか?

"digit": { 
    "display": "<select><option selected value=`1`>1</option><option value=`2`>2</option></select>", 
    "current_value": "1" 
} 

私のユースケースセル内<select>を使用している - 私は場所に選択しておきたいオプションの変更と直交データのみを変更します。

+0

あなたはおそらく、あなたがJSFiddleを使って何を意味するかを説明してもらえますか?あなたが達成したいことがより良いアイデアを持っていると、私たちがあなたを助けるのに役立つかもしれません。 – annoyingmouse

+0

@annoyingmouseは – Andrey

答えて

1

row().data() APIメソッドを使用すると、選択した行のデータを取得または設定できます。行がクリックされたときcurrent_valueをインクリメントする例えば

、:

var table = $('#example').DataTable(); 

$('#example tbody').on('click', 'tr', function() { 
    var data = table.row(this).data(); 

    data.digit.current_value++; 

    table 
     .row(this) 
     .data(data) 
     .draw(false); 
}); 
+0

セルデータを更新したいのですが、行データではありません – Andrey

+0

誤解があるようです。私の質問の例のデータは、[直交](https://datatables.net/manual/data/orthogonal-data)プロパティ '' 'current_value''と' 'display '' 'セル内でレンダリングされるものです。私は '' 'display''を変更しないで、その単一のセルの' '' current_value'''データプロパティだけを更新したいと思います。これが原因で '' '' cell().data() ''はセルの再レンダリングを引き起こすセルの全データを書き換えているように見えます。たぶんjsfiddleはこれをもっとうまく説明してくれるでしょうか? – Andrey

+1

@Andrey、私の例のコードは正確にそれを行い、他のフィールドに触れることなく 'current_value'を更新します。イベントハンドラをクリックするだけでそのアイデアを説明できます。シンプルなjsFiddleを提供できれば、それは助けになるでしょう。 [this jsFiddle](https://jsfiddle.net/ep2f95za/)を使い始めることができます。 –

関連する問題