数据表!=搜索 var table=$('.dataTables-huntQueue').DataTable(); 如果($(“#切换我的”)。是(“:选中”){ table.search('closed').draw(); }否则{ table.search(“”).draw(); }

数据表!=搜索 var table=$('.dataTables-huntQueue').DataTable(); 如果($(“#切换我的”)。是(“:选中”){ table.search('closed').draw(); }否则{ table.search(“”).draw(); },datatables,Datatables,当我只寻找“关闭”值时,上述方法非常有效。但我真正想要的是任何没有关闭的东西。有没有一个!这里缺少的运算符?您可以使用正则表达式: table.search(“^((?!(关闭)))*$”,true,false,true.draw(); 参数的含义是-参见文档了解: 非行的列包含“closed” 它是一个正则表达式 没有“智能”过滤,在这种情况下,这似乎并不重要 不区分大小写 通过API使用正则表达式的缺点是,您将在搜索/筛选框中获得一个丑陋的无意义的^((?!(closed))*$值。

当我只寻找“关闭”值时,上述方法非常有效。但我真正想要的是任何没有关闭的东西。有没有一个!这里缺少的运算符?

您可以使用正则表达式:

table.search(“^((?!(关闭)))*$”,true,false,true.draw();
参数的含义是-参见文档了解:

  • 行的列包含“closed”
  • 它是一个正则表达式
  • 没有“智能”过滤,在这种情况下,这似乎并不重要
  • 不区分大小写

通过API使用正则表达式的缺点是,您将在搜索/筛选框中获得一个丑陋的无意义的
^((?!(closed))*$
值。相反,您可以制作一个完全相同的:

函数notSearch(notString){
notString=notString.toLowerCase();
$.fn.dataTable.ext.search.push(
功能(设置、数据、数据索引){
对于(var i=0;i-1),返回false;
}
返回true;
}  
)
table.draw();
$.fn.dataTable.ext.search.pop();
}
那就打电话过去吧

notSearch('closed');

您甚至可以使用上述自定义过滤器,使其显示为本机API的一部分:

jQuery.fn.dataTable.Api.register('notSearch()',函数(notString){
notString=notString.toLowerCase();
$.fn.dataTable.ext.search.push(
功能(设置、数据、数据索引){
对于(var i=0;i-1),返回false;
}
返回true;
}  
)
table.draw();
$.fn.dataTable.ext.search.pop();
})
table.rows().notSearch('closed');

你能再详细说明一下你的问题吗。您的表是服务器端还是客户端?你到底想做什么?客户端。在浏览器中渲染。我在浏览器中向客户端显示了一个6列表格。用户希望查看所有未关闭项目的列表。目前。。。我能显示的是已关闭的列表。对用户来说没那么有用!你所说的关闭实际上是什么意思,是关闭和打开的动力?