我正在尝试使用Datatables过滤器功能来做一些简单的事情(我想)。根据所选的单选按钮,我想排除或包含特定列没有值(即为空)的行。像这样:
$("#full_table").DataTable({
initComplete: function() {
var table = $('#full_table').DataTable();
$('input[type=radio][name=exclude]').change(function() {
if (this.value == 'incblanks') {
table
.columns(0)
.search( '' )
.draw();
}
else if (this.value == 'removeblanks') {
table
.columns(0)
.search( '^(?!\s*$).+', true, false ) //THIS ISN'T WORKING
.draw();
}
});
}
});
我注意到哪一部分不起作用。基本上,如果您选择是...然后使用.search( '' )
包含所有行,那么,如果您要排除列(0)空白的行,那么我正在尝试为任何行执行正则表达式非空白字符.search( '^(?!\s*$).+', true, false )
,但这不起作用。我没有在表格中找到任何数据,但没有错误。
我该如何解决这个问题?
答案 0 :(得分:1)
我可以确认您的code
确实有效,check out the JSFiddle。 (我使用空白和“仅空格”值来表示空单元格并成功过滤掉它们)
您可能正在使用较旧版本的Datatables?在旧版本中,空单元格似乎有illuminated some bugs。你升级到最新的吗?