Jquery 如果datatable中没有可用数据,如何删除搜索和导出按钮
我想删除“搜索”和“导出”(复制、excel、csv、pdf…等) 按钮“如果数据表中没有数据 我可以找到数据表的长度为“0”,但无法找到任何解决方案如何删除按钮和搜索控件 目前datatable显示“无可用数据”,这是我所需要的。我能正确地显示数据表 这就是我迄今为止所尝试的Jquery 如果datatable中没有可用数据,如何删除搜索和导出按钮,jquery,datatables,Jquery,Datatables,我想删除“搜索”和“导出”(复制、excel、csv、pdf…等) 按钮“如果数据表中没有数据 我可以找到数据表的长度为“0”,但无法找到任何解决方案如何删除按钮和搜索控件 目前datatable显示“无可用数据”,这是我所需要的。我能正确地显示数据表 这就是我迄今为止所尝试的 var table = $('#tblParametersPopUp').dataTable( { dom: 'Bfrt', bPaginate: false, oLanguage: {
var table = $('#tblParametersPopUp').dataTable(
{
dom: 'Bfrt',
bPaginate: false,
oLanguage: {
sSearch: '<i class="fa fa-search"> </i>'
},
buttons: [
{
extend: 'copy',
text: '<i class="fa fa-files-o"></i>',
titleAttr: 'Copy'
},
{
extend: 'excel',
text: '<i class="fa fa-file-excel-o"></i>',
titleAttr: 'Excel'
},
{
extend: 'csv',
text: '<i class="fa fa-file-text-o"></i>',
titleAttr: 'CSV'
},
{
extend: 'pdf',
text: '<i class="fa fa-file-pdf-o"></i>',
titleAttr: 'PDF'
},
{
extend: 'print',
text: '<i class="fa fa-print"></i>',
titleAttr: 'Print'
}
]
//,
////initialization params as usual
//fnInitComplete: function () {
// if ($(this).find('tbody tr').length <= 1) {
// $(this).parent().hide();
// }
//}
});
if(table.fnSettings().aoData.length == "0")
{
//alert('no data');
//I want to remove the default search and export buttons here.
}
var table=$('tblParametersPopUp')。数据表(
{
dom:'Bfrt',
bPaginate:false,
语言:{
搜索:“”
},
按钮:[
{
扩展:“复制”,
文本:“”,
标题:“副本”
},
{
扩展:“excel”,
文本:“”,
标题:Excel
},
{
扩展:“csv”,
文本:“”,
标题:“CSV”
},
{
扩展:“pdf”,
文本:“”,
标题:PDF
},
{
扩展:“打印”,
文本:“”,
标题:“打印”
}
]
//,
////像往常一样初始化参数
//fnInitComplete:函数(){
//if($(this).find('tbody tr').length您可以检查表是否为空,以及是否为空销毁表并使用搜索禁用初始化数据表
$(document).ready(function() {
var table =$('#example').DataTable( {
dom: 'Bfrtip',
buttons: [
'copyHtml5',
'excelHtml5',
'csvHtml5',
'pdfHtml5'
]
} );
if ( ! table.data().count() ) {
$('#example').dataTable().fnDestroy();
$('#example').DataTable( {
searching: false
})
}
} );
为此,您可以使用drawCallback
drawCallback: function (settings) {
$this.datatable.button(0).enable(settings.json.recordsTotal > 0);
$this.datatable.button(1).enable(settings.json.recordsTotal > 0);
$this.datatable.button(2).enable(settings.json.recordsTotal > 0);
}
也许可以试试?$('i').hide();你的意思是说销毁表格,然后在没有搜索和按钮的情况下重新创建?还有其他简单的解决方案吗?像这样,只有我使用来自ajax响应的新数据更新datatable。Downvoter请添加注释,或者更好地添加您的答案,我将删除并向上投票您的答案。