我是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的:
$(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" }
]
});
} );
if
的伪代码 if($_POST('something') =="hey"){
hide column 1 and 2;}
答案 0 :(得分:4)
使用initComplete
选项将您的条件置于表格初始化之后。使用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以获取代码和演示。