2017-07-31 16 views
0

テーブルにはさまざまな数の列がありますが、表示するデータによっては毎回異なる位置に表示されます(例:列2、列3、列4などとすることができる)。この列を最初のソート列として設定し、DESCをソートする必要があります。この列に表示されるデータはチェックボックスで、結果としてdata-sort属性がデータのソートに使用されています。チェックされている場合は1、チェックされていない場合は0が使用されます。データテーブルの列数が異なるテーブルの並べ替え

私ができる必要があるのは以下のことです。どのような位置にあってもよい(つまり、さまざまなインデックスがある)列でどのように達成するかはわかりません。

$('#example').dataTable({ 
    "order": [[ 2, 'desc' ]] 
}); 

しかし、列はテーブルごとに異なる番号になりますように:列の静的な数があった場合、私は次のように列のインデックスを知ってオプションを設定することができるだろうと、これは大丈夫だと思いますコンテンツに応じて列を参照する必要があります。私はする必要があります:

  • この列として初期ソート列を設定します。
  • ソート順をDESCに設定します。

< <は未検証>> - Iは、(0または1)チェックボックスがチェックされたときに/未確認したがってデータソート値を変更する必要があります。私はまだテストしていませんが、回答が得られれば、フィードバックに感謝します - データ型はデータソート属性の変更を受け取り、それに応じてソートを調整しますか?そうでない場合は、data-sort属性が変更された後、再ソートするためにデータテーブルに何を渡すことができますか?

TIA

答えて

0

私は、私は次のことを行っている。この使用のDataTableを達成するためにどのような方法を見つけることができませんでしたよう:ソート​​する必要がある列の場合

HTML

data-order属性を追加'asc'または 'desc'で始まります。

<th data-order="desc">Column Heading</th> 

スクリプティング

var ordering = []; 
var theTable = jQuery('#example').DataTable(); 
theTable.columns().every(function(i) { 
    var header = this.header(); 
    if (jQuery(header).is('[data-order]')) { 
     var dataOrder = jQuery(header).attr('data-order'); 
     var theOrder = [ i, dataOrder ]; 
     ordering.push(theOrder); 
    } 
}); 
if(ordering.length > 0) { 
    theTable.order(ordering).draw(); 
} 
関連する問題