当值与数据表列不匹配时,如何从数据表中过滤记录?

时间:2018-05-25 06:10:32

标签: jquery datatables

这里我只想显示那些与我传递给过滤数据的值不匹配的记录。 这里我将根据从下拉列表中选择的值过滤数据表。我的脚本代码如下所示。

 $('#FilterByClass').on('change', function () {
        var dtable = $('#example').DataTable({})
        var selectedValue = $(this).find(':selected').val();
        dtable.rows().nodes().each(function (a, b) {
            var colValue = $(a).children().eq(3).text();
            if (colValue == selectedValue) {
                dtable.rows(a).remove();
            }
        });

        dtable.draw();
    });

它应该像, 如果行的第3列不包含通过下拉列表的文本值,那么只有那些记录应该被过滤。上面的代码给了我结果,但我不想从tabale中删除行。

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式搜索来执行此操作。

尝试:

var dtable = $('#example').DataTable({});
$('#FilterByClass').on('change', function () {
        var selectedValue = $(this).find(':selected').val();
        dtable.columns(2).search('^(?!'+selectedValue+'$)', true); // true for regex search
        dtable.draw();
    });