假设我在表格中有两行,只有一列:
hello mr red
goodbye morpheous
我希望能够过滤“hello morpheous”并让它返回两行。
默认情况下它不会这样做?它只返回包含“hello”的行。
我能做到吗?谢谢:)
答案 0 :(得分:4)
您只需创建一个custom filter,如下所示:
$.fn.dataTableExt.afnFiltering.push(
function(oSettings, aData, iDataIndex) {
var filter = $("#example_filter input").val();
filter = filter.split(' ');
for (var f=0;f<filter.length;f++) {
for (var d=0;d<aData.length;d++) {
if (aData[d].indexOf(f)>-1) {
return true;
}
}
}
}
);
此自定义过滤器会分解在按空格分割的过滤器框中输入的值,然后循环显示所有行中的所有列 - 如果行的任何列匹配 any 输入过滤器标准的em>,如“hello”或“morpheous”,这是匹配。
参见演示 - &gt; http://jsfiddle.net/ca6Zc/ 刚刚抓住了用于其他内容的早期演示,现在没有时间制作一个包含大量行的一列示例。但至少它证明该方法非常令人满意:)只需尝试在过滤器框中输入由空格分隔的不同字母,如e f 8
等。