Javascript Ajax调用后过滤数据表

Javascript Ajax调用后过滤数据表,javascript,ajax,datatables,Javascript,Ajax,Datatables,我在CodeIgniter中工作,我有一个DataTable,我想在调用ajax之后过滤DT中的数据。我试图通过筛选表来实现这一点,但它不起作用 这是JS代码。 $(function () { var tableRep= $("#tblreport").dataTable({ responsive: true, filter:true, order: [[ 1, "desc" ]], processing: true, serverSide: tr

我在CodeIgniter中工作,我有一个DataTable,我想在调用ajax之后过滤DT中的数据。我试图通过筛选表来实现这一点,但它不起作用

这是JS代码。

 $(function () {
   var tableRep=  $("#tblreport").dataTable({
       responsive: true, filter:true, order: [[ 1, "desc" ]],
            processing: true, serverSide: true,
            ajax: { "url": baseurl+"reports/Report/dataTable", "type": "POST" },
            columns:
            [
              {data:"idReport",},
              {data:"date"},
              {data:"customer"},
              {data:"status",visible:false},
              {data:null,searchable:false,orderable: false,width:"120px", render: function (row)
              { if (row.status == "wait") {return '<a class="glyphicon glyphicon-search" data-toggle="modal" data-target="#report">Asign</a>'; }
              else  if (row.status == "process")  {return '<a  data-toggle="modal" data-target="#report">Edit</a>';} else return '';} }
           ],
           columnDefs:
           [
             { responsivePriority: 1, targets: 1 },
             { responsivePriority: 2, targets: -1 },
             { responsivePriority: 3, targets: 2 }
           ], fnCreatedRow: function( nRow, aData, iDataIndex ) {
             if ( aData["status"] == "ready" ) { $('td', nRow).css('background-color', '#BEF781'); }
             else if ( aData["status"] == "wait" ) { $('td', nRow).css('background-color', '#F2F5A9'); }
             else { $('td', nRow).css('background-color', '#FFFFFF'); }
       }})
      });
var filteredData = tableRep.column(4).data().filter( function ( value, index ) {return value!="cancel" ? true : false;} );
$(函数(){
var tableRep=$(“#tblreport”).dataTable({
响应:true,筛选器:true,顺序:[[1,“desc”]],
处理:true,服务器端:true,
ajax:{“url”:baseurl+“reports/Report/dataTable”,“type”:“POST”},
柱:
[
{数据:“idReport”,},
{数据:“日期”},
{数据:“客户”},
{数据:“状态”,可见:false},
{数据:null,可搜索:false,可排序:false,宽度:“120px”,呈现:函数(行)
{if(row.status==“wait”){返回'Asign';}
else if(row.status==“process”){return'Edit';}else if返回“”;}
],
columnDefs:
[
{响应优先级:1,目标:1},
{响应优先级:2,目标:-1},
{响应优先级:3,目标:2}
],fnCreatedRow:函数(nRow、aData、iDataIndex){
if(aData[“status”]=“ready”){$('td',nRow).css('background-color','BEF781');}
else if(aData[“status”]=“wait”){$('td',nRow).css('background-color','F2F5A9');}
else{$('td',nRow).css('background-color','#ffffffff');}
}})
});
var filteredData=tableRep.column(4.data().filter(函数(值,索引){return value!=“cancel”?true:false;});

您尝试过这个选项吗

var tableRep=  $("#tblreport").dataTable({
    //your config
})
.on('draw.dt', function () {
     //Add here yours filters
 });

在这里,您可以找到更详细的解释,但基本上每次表格绘制某些内容时都会触发此事件