Javascript 在数据表中隐藏记录

Javascript 在数据表中隐藏记录,javascript,jquery,ajax,datatable,datatables,Javascript,Jquery,Ajax,Datatable,Datatables,我想做的是从datatable中隐藏记录/数据,这样在默认情况下,它将显示“表中没有可用数据”。但是,当用户使用搜索功能时,它将显示匹配的记录。如果搜索和“我的列”筛选器中没有数据,则不会显示任何数据。简而言之,我只希望我的记录不会显示为默认值。记录应仅在搜索时显示 设置延迟加载:0起初不会加载数据,但当我从搜索栏中删除信息时,记录仍会显示 我的剧本: $(document).ready(function(){ var dataTable = $('#example').dataTabl

我想做的是从datatable中隐藏记录/数据,这样在默认情况下,它将显示“表中没有可用数据”。但是,当用户使用搜索功能时,它将显示匹配的记录。如果搜索和“我的列”筛选器中没有数据,则不会显示任何数据。简而言之,我只希望我的记录不会显示为默认值。记录应仅在搜索时显示

设置延迟加载:0起初不会加载数据,但当我从搜索栏中删除信息时,记录仍会显示

我的剧本:

$(document).ready(function(){
    var dataTable = $('#example').dataTable({
        dom: 'T<"clear">lfrtip',
        "tableTools": {
            "sSwfPath": "../assets/swf/copy_csv_xls_pdf.swf",
            "sRowSelect": "multi",
            "aButtons": [
                "select_all",
                "select_none",
                {
                    "sExtends":    "collection",
                    "sButtonText": "Advance Tools",
                    "aButtons":    [ "csv", "xls", "pdf","print" ]
                }
            ]
        },
        bProcessing: true,
        bServerSide: true,
        bRegex:true,
        "oLanguage" : {"sZeroRecords": "", "sEmptyTable": ""},
        deferLoading: 0,
        sAjaxSource: "server_processing.php"
    });
});
$(文档).ready(函数(){
var dataTable=$(“#示例”).dataTable({
dom:'Tlfrtip',
“表格工具”:{
“sSwfPath”:“./assets/swf/copy\u csv\u xls\u pdf.swf”,
“sRowSelect”:“multi”,
“阿布顿”:[
“全选”,
“选择“无”,
{
“性倾向”:“收藏”,
“sButtonText”:“高级工具”,
“阿布顿”:[“csv”、“xls”、“pdf”、“打印”]
}
]
},
b处理:对,
观察家方面:是的,
布雷克斯:是的,
“oLanguage”:{“sZeroRecords”:“sEmptyTable”:“},
正在加载:0,
sAjaxSource:“server_processing.php”
});
});

您可以使用自定义筛选器隐藏行,然后在用户执行搜索/清除搜索框时重置/设置此筛选器

function hideRowsFilter() {
  $.fn.dataTableExt.afnFiltering.push(function(oSettings, aData, iDataIndex) {
     return false
  })
  dataTable.fnDraw();
}  
function clearFilter() {
  $.fn.dataTableExt.afnFiltering.pop();
  dataTable.fnDraw();  
} 
初始化数据表后,设置过滤器

hideRowsFilter();
根据用户输入重置/设置过滤器

$('.dataTables_filter input').on('keyup', function() {
   if (this.value != '' ) {
      clearFilter();
   } else {
      hideRowsFilter();
   }
})
演示->


上面的演示和代码使用的是1.9.x,有人告诉我您使用的是1.9.x,但它也可以使用1.10.x

嗨,大卫!谢谢我应该如何在代码中实现这一点?sAjaxSource:“server_processing.php”});我已经把你的代码放在这里了});我在那里使用了你的代码,但什么也没发生,当我把它放在其他地方时,我有错误。@chrisjai32-将你所做的代码粘贴到小提琴中,按update,这样它就会得到一个新的url并发布到这里,也许我可以告诉你出了什么问题。@chrisjai32-你在
中有一个输入错误。
缺少
s
,然后它就工作了(如果关闭示例中未使用的
sAjaxSource
)并关闭
bServerSide
(不执行服务器端筛选等)-当然,在你的项目中,如果你有
server\u processing.php
的话,你应该使用
sAjaxSource
。希望它能有所帮助。我做了你做的事情,但它仍然不适合我。下面是我的代码:我做错了什么吗?还是问题来自
server\u processing.php