这里我只想显示那些与我传递给过滤数据的值不匹配的记录。 这里我将根据从下拉列表中选择的值过滤数据表。我的脚本代码如下所示。
$('#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中删除行。
答案 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();
});