如何在没有数据显示时隐藏数据表?
how to hide datatable when there is no data to display?
我的界面中有一个数据表。当没有数据时我想隐藏整个数据表。不是数据表中的列。
谁能帮帮我?
当没有数据时使用javascript
设置table的CSSvisibility: hidden
如果从服务器端获取数据,可以在检查数据是否为空或未定义时设置$('#yourtable').css('display','none');
。
$('#yourtable').DataTable({
'processing': true,
'serverSide': true,
'pagingType': 'simple_numbers',
'searching': true,
'autoWidth': false,
'ajax': {
'url' : 'your_API_Url',
'type': 'GET',
'headers': { 'Authorization': 'Bearer ' + currentUser.access_token },
'data': function (data) {
if(data == null || data == undefined){
$('#yourtable').css('display','none');
}
}
}
});
您还需要隐藏包含 table 及其内容的包装 div。一个真正简单的解决方案是像下面这样使用 initComplete:
$('#table').dataTable({
//your table settings here..
initComplete : function() {
if ($(this).find('tbody tr').length<=1) {
$('#table').parents('div.dataTables_wrapper').first().hide();
}
}
});
如果其正文中没有包含数据的行,以上内容将隐藏 dataTable 及其所有自动生成的内容。
添加了 codepen 示例。
我的界面中有一个数据表。当没有数据时我想隐藏整个数据表。不是数据表中的列。
谁能帮帮我?
当没有数据时使用javascript
设置table的CSSvisibility: hidden
如果从服务器端获取数据,可以在检查数据是否为空或未定义时设置$('#yourtable').css('display','none');
。
$('#yourtable').DataTable({
'processing': true,
'serverSide': true,
'pagingType': 'simple_numbers',
'searching': true,
'autoWidth': false,
'ajax': {
'url' : 'your_API_Url',
'type': 'GET',
'headers': { 'Authorization': 'Bearer ' + currentUser.access_token },
'data': function (data) {
if(data == null || data == undefined){
$('#yourtable').css('display','none');
}
}
}
});
您还需要隐藏包含 table 及其内容的包装 div。一个真正简单的解决方案是像下面这样使用 initComplete:
$('#table').dataTable({
//your table settings here..
initComplete : function() {
if ($(this).find('tbody tr').length<=1) {
$('#table').parents('div.dataTables_wrapper').first().hide();
}
}
});
如果其正文中没有包含数据的行,以上内容将隐藏 dataTable 及其所有自动生成的内容。
添加了 codepen 示例。