2017-07-28 5 views
1

Datatablesで列フィルタリングを使用すると、最初の列フィルタが選択され、結果のデータセットがレンダリングされ、他の列フィルタがフィルタされて表示されます。列間で動的にフィルタリングするデータ型

は、この例を参照してください:あなたは、位置フィルタから「開発者」を選択した場合https://www.datatables.net/examples/api/multi_filter_select.html

、地域フィルタは、残りの4箇所に絞り込む必要があります。代わりに元のデータセットのすべての場所を表示します。各フィルタが適用されると、それらを絞り込む方法はありますか?

答えて

1

は、完璧に動作drawCallback

drawCallback: function() { 
    var api = this.api(); 
    let data = api.rows({ 
    filter: 'applied' 
    }).data(); 
    $.each($(api.table().footer()).find("select"), function(colIndex) { 
    var currData = data.map(function(cols) { 
     return cols[colIndex]; 
    }); 
    $.each($(this).find("option"), function() { 
     if (currData.indexOf($(this).text()) != -1 || $(this).text() == '') 
     $(this).attr("disabled", false).show(); 
     else 
     $(this).attr("disabled", true).hide(); 
    }) 
    }); 
} 

FIDDLE

+0

はありがとうのオプションを隠すようにしてください! IE11では動作しませんか? – tonyyeb

+1

IE11で、矢印関数によるシンタックスエラーが発生しました...標準コードを使用して答えを更新しました – Vanojx1

+0

素晴らしい!すごい仕事!もう一度ありがとう。 – tonyyeb

関連する問題