Datatables获取列上可搜索的值

Datatables获取列上可搜索的值,datatables,Datatables,我已使用以下代码创建了一个datatable: userTable=$('#userTable').DataTable({ 服务器端:是的, 处理:对, 阿贾克斯:{ url:“{!!路由('listOfUsersAjax')!!}”, 键入:“获取”, dataSrc:函数(json){ //log(json);; 对于(var i=0,ien=json.data.length;i您确实可以通过this.api().init().columns获得列定义。因此,您所要做的就是评估列search

我已使用以下代码创建了一个datatable:

userTable=$('#userTable').DataTable({
服务器端:是的,
处理:对,
阿贾克斯:{
url:“{!!路由('listOfUsersAjax')!!}”,
键入:“获取”,
dataSrc:函数(json){
//log(json);;
对于(var i=0,ien=json.data.length;i您确实可以通过
this.api().init().columns
获得
列定义。因此,您所要做的就是评估列
searchable
explicit是否设置为
false
(不定义可搜索或不定义列表示为true,因为这是默认值):

initComplete:function(){
var columns=this.api().init().columns;
this.api().columns().every(函数(索引){
如果(!columns[index]| | columns[index].可搜索){
//该列是可搜索的
}否则{
//列不可搜索
}
})  
}

不起作用。但当我执行console.log(index)时,它告诉我undefinedOk,我发现您不能在函数(index)中使用index,而是必须这样定义:var column=this;index=column[0][0]@Richard很抱歉反应太晚,这是我在写答案时做的修改->我怀疑你缺少
索引的原因是因为我没有想到这一点,你可能使用了旧版本的dataTables。