2016-08-02 19 views
0

jqueryデータテーブルに行を動的に追加する必要があります。問題は、data-sort属性のセルがいくつかあることです。追加された行にその属性を追加するにはどうすればよいですか?jQuery Datatablesデータソート属性を持つ行を追加

<table> 
    <thead> 
     <tr> 
      <th>Name</th> 
      <th>Preis</th> 
     </tr> 
    </thead> 

    <tbody> 
     <tr> 
      <td data-sort="Max Müller">M. Müller</td> 
      <td data-sort="500">5,00 €</td> 
     </tr> 
    </tbody> 
</table> 
table.row.add([ 
    'J. Wayne', // Here I need a data-sort="John Wayne" 
    '6,00 €', // Here I need a data-sort="600" 
]).draw(); 
+0

** [this](http://stackoverflow.com/questions/14286528/data)動的にテーブルを追加する行を追加することもできます** **参考になるかもしれません。 – mmushtaq

答えて

1

便利な方法は、自動的に列のコンテンツを含むdata-sort属性を持つすべての<td>値を移入createdRowコールバックを使用することです:

$('#example').DataTable({ 
    createdRow: function(row, data, dataIndex) { 
    data.forEach(function(str, idx) { 
     $(row).find('td').eq(idx).attr('data-sort', str) 
    }) 
    } 
}) 

それはここで働いている - >http://jsfiddle.net/ea5ayzzb/

+0

いいですね。そのコールバックを '' table.on( 'draw.dt'、myFunction)というイベントのようなテーブルの初期化の後に追加することはできますか?私のテーブルは早く作成されます。 –

+0

@DominikBarann、どういう意味ですか?テーブルが作成されると、コールバックを追加することはできません。なぜあなたはそれをしますか? – davidkonrad

+0

問題は、クラス '.data-table'があることです。そのクラスを持つすべてのテーブルは、いくつかのデフォルトオプションを持つデータテーブルになります。今では、コールバックが必要なテーブルが1つあり、既に初期化されているため、再登録できません。 –

関連する問題