Datatables查找字符串并添加类

Datatables查找字符串并添加类,datatables,find,addclass,Datatables,Find,Addclass,我尝试在表中查找字符串并将类添加到此行。但是这个代码不起作用。只是什么都没发生。这是我的代码,后面我调用myTable()函数: 函数myTable(){ var selectDateVar=$('#selectDate').val(); var table=$('#example')。数据表({// “处理”:对, “服务器端”:正确, “延迟渲染”:正确, 是的, “sAjaxSource”:“server_processing.php?data=30/09/2015”, “订单”:[[2,

我尝试在表中查找字符串并将类添加到此行。但是这个代码不起作用。只是什么都没发生。这是我的代码,后面我调用
myTable()
函数:

函数myTable(){
var selectDateVar=$('#selectDate').val();
var table=$('#example')。数据表({//
“处理”:对,
“服务器端”:正确,
“延迟渲染”:正确,
是的,
“sAjaxSource”:“server_processing.php?data=30/09/2015”,
“订单”:[[2,“说明”],
initComplete:function(){
var api=this.api();
新的$.fn.dataTable.Buttons(api{
按钮:[
{
扩展:“打印”,
文本:“Пааааааа”,
'className':'btn lg btn btn警告打印btn',
},
]
});
api.buttons().container().appendTo('.printButton');
}
});
变量索引=table.rows().eq(0).filter(函数(rowIdx){
返回table.cell(rowIdx,3).data()=“180”?true:false;
} );
table.rows(index).nodes()到$().addClass('highlight');
}
我的桌子:

我使用这个示例

函数myTable(){
var selectDateVar=$('#selectDate').val();
var table=$('#example')。数据表({//
“处理”:对,
“服务器端”:正确,
“延迟渲染”:正确,
是的,
“sAjaxSource”:“server_processing.php?data=30/09/2015”,
“订单”:[[2,“说明”],
initComplete:function(){
var api=this.api();
新的$.fn.dataTable.Buttons(api{
按钮:[
{
扩展:“打印”,
文本:“Пааааааа”,
'className':'btn lg btn btn警告打印btn',
},
]
});
api.buttons().container().appendTo('.printButton');
//过滤代码应该在initComplete函数中
//但在您的情况下,会过滤一个空表
变量索引=table.rows().eq(0).filter(函数(rowIdx){
返回table.cell(rowIdx,3).data()=“180”?true:false;
} );
table.rows(index).nodes()到$().addClass('highlight');
}
});
} 
您需要在数据加载时调用代码。当前,在表中填充服务器数据之前调用它。只需将代码示例添加到initComplete函数中。 在加载Ajax数据之后,将调用initComplete

第二个问题的答案:如果需要跨多个列进行搜索,只需添加以下代码:

var index=table.rows().eq(0).过滤器(函数(rowIdx){
返回table.cell(rowIdx,3).data()=“180”&&
table.cell(rowIdx,0).data()==“521”?真:假;
} );

@Spirit是的,我确定。是的,工作起来很有魅力,但如果我使用搜索、分页、排序、刷新表格,类就消失了。是否有一些修复方法?@diank-您可以在中执行代码,以便在每次重新绘制表时添加类。