数据表使用RegEx问题搜索/过滤

时间:2016-04-12 20:42:25

标签: jquery regex datatables

我正在尝试使用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 ),但这不起作用。我没有在表格中找到任何数据,但没有错误。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我可以确认您的code 确实有效,check out the JSFiddle。 (我使用空白和“仅空格”值来表示空单元格并成功过滤掉它们)

您可能正在使用较旧版本的Datatables?在旧版本中,空单元格似乎有illuminated some bugs。你升级到最新的吗?