我想要查看没有该列值的所有数据,而不是在“搜索”框中键入值并仅查看具有该列值的数据。
因此,例如,如果列Fry Size
具有:Small, Medium, Large, or Mega
作为可能的值,并且我在搜索栏中输入Mega
,我只想查看具有以下内容的数据: Small, Medium, or Large
列中的Fry Size
。
有可能这样做吗?如果是这样,怎么样?
答案 0 :(得分:0)
是的,您可以执行此类自定义搜索,但存在一些陷阱:一般情况下,数据表会在自定义搜索之前应用自己的过滤,因此在您的情况下,添加自定义过滤会反映在空表中。因此,您可以通过使用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绑定到datatables draw
event:
$('#reverseSearch').keyup(function () {
table.draw();
});