2017-05-04 11 views
0

jqueryとdatatableは新しくすばやく学習します。ifを使用してデータテーブルの列を非表示

ifでテストする変数の値に従って特定の列を非表示にしたいとします。しかし、どこにコードを書くのか分かりませんし、列を隠すコードもあります。

HTML:

<table id="table_id" class="table table-striped table-bordered table hover" width="100%" cellspacing="0" > 
<thead> 
<tr> 
    <th>Have</th> 
    <th>A</th> 
    <th>Good</th> 
    <th>Day</th> 
</tr> 
</thead> 

のjQuery:テーブルがされた後にあなたの状態を置くためのオプション

if($_POST('something') =="hey"){ 
    hide column 1 and 2;} 
+0

これは '[jquery-datatables]'というタグが付いているはずですが、なんらかの理由で私が編集でそれを変更できないようにしています。 –

+0

https://datatables.net/reference/api/column().visible() –

+0

このタグを追加しようとしましたが、できませんでした。そして、はい、私はapiを見ましたが、コードをどこかに特定の必要があるように見えました。 – Romain

答えて

1

使用initComplete場合について

$(document).ready(function() { 
$('#table_id').DataTable({ 
    "processing": true, 
    "order": [[ 3, "desc" ]], 
    "ajax": { 
     "url": "somewhere.php", 
     "type": "POST" 
    }, 
    "columns": [ 
     { "data": "Have" }, 
     { "data": "A" }, 
     { "data": "Good" }, 
     { "data": "Day" } 
    ] 
}); 
}); 

擬似コード初期化されました。選択した列を非表示にするには、columns().visible() APIメソッドを使用します。例えば

:上記の例で

var table = $('#example').DataTable({ 
    ajax: 'https://api.myjson.com/bins/qgcu', 
    initComplete: function(settings, json){ 
     var api = new $.fn.dataTable.Api(settings); 

     api.columns([4, 5]).visible(false); 
    } 
}); 

json変数を使用すると、列の表示/非表示のためのあなたの状態を定義するために使用することができ、サーバからの応答を保持しています。

コードとデモンストレーションについては、this exampleを参照してください。

関連する問題