DataTables不搜索某些列值

时间:2017-10-04 13:25:29

标签: jquery datatables

我有一个数据相关的下拉列表

  • 首先选择菜单 - 数据表在第6列上过滤,第二个选择菜单相应地过滤
  • 第二个菜单被选中 - 数据表在第7列上被过滤

JS

$('#department-list').on('change', function(){
    table.ajax.reload();
    table.columns( 6 ).search( this.value ).draw();   
    table.columns( 7 ).search( "" ).draw();     
});
$('#team-list').on('change', function(){
    table.columns( 7 ).search( this.value ).draw(); 
});

所以我知道第7列有以下内容:

  • MHGS
  • 响应小组A
  • 响应小组B
  • 响应小组C
  • 响应小组D
  • 响应小组E

它似乎只适用于B,C和D.当选择A或E时,似乎没有任何改变。

我已经对上面的第二条款做了警告,它会提醒我的预期。我也在列上有过滤器,如下所示,当我选择Response Team A(或E)时,它会按预期过滤

initComplete: function () {
    var filterColumns = [1,2,3,4,5,6,7];
    table.columns(filterColumns).every(function () {
        var column = this;
        var select = $('<select><option value=""></option></select>')
        .appendTo( $(column.footer()).empty() )
        .on( 'change', function () {
            var val = $.fn.dataTable.util.escapeRegex($(this).val());
            column.search( val ? '^'+val+'$' : '', true, false ).draw();
        } );

                column.data().unique().sort().each( function ( d, j ) {
                    select.append( '<option value="'+d+'">'+d+'</option>' )
                } );
            } );
        }

任何原因

1 个答案:

答案 0 :(得分:0)

table.columns( 7 ).search( this.value, false, false ).draw();

来自https://datatables.net/reference/api/search()

切换智能搜索