2014-09-24 31 views
0

而不是在搜索框中键入一个值,只看到具有该列值的数据,我想查看所有没有该列值的数据。如何从DataTables中过滤OUT值?

因此,举例来说,如果列Fry Size有:Small, Medium, Large, or Mega作为一个可能的价值,我在Mega在搜索栏中键入的,我想只能看到数据:在Fry SizeSmall, Medium, or Large

可以做到这一点吗?如果是这样,怎么样?

回答

0

是的,你可以执行这样的自定义搜索,但有一些陷阱:一般来说datatables将自定义的过滤器之前应用自己的过滤,所以在你的情况下添加自定义过滤反映在空表中。所以,你可以完全禁用起源过滤机制与sDom操作:

'sDom': '<"top"l>rt<"bottom"ip><"clear">' 

添加一些输入自己的筛选:

<input type="text" id="reverseSearch" /> 

然后应用自定义筛选:

$.fn.dataTable.ext.search.push(
    function (settings, data, dataIndex) { 
     var frySize = data[1]; // from the fiddle example 
     var searchPhrase = $("#reverseSearch").val(); 
     if (searchPhrase) { 
      return !(frySize.toLowerCase().indexOf(searchPhrase.toLowerCase()) > -1); 
     } 
     return true; 
    } 
); 

而且,最后,将这个新的serachbox绑定到数据表draw事件:

$('#reverseSearch').keyup(function() { 
     table.draw(); 
}); 

JSFiddle

相关问题