我正在使用jQuery DataTables插件对一组表结果进行过滤。我的表列出了他们所属的客户和成员。我有一个下拉列表,允许用户为特定组成员的客户过滤表格。我的问题是客户可以是多个组的成员,所有这些都列在一个列中。
例如,Joe可能是以下群组的成员:
如果我定期过滤(见下文),并且用户从下拉列表中选择“第1组”,它仍会显示属于“第10组”成员的客户。
function fnFilterColumn ( i ){
$('#results').dataTable().fnFilter(
$("#filter").val(),
i,
false
);
}
如果我启用正则表达式(见下文),那么它会进行“精确”匹配。因此,如果用户从下拉列表中选择“组1”,它将仅显示仅为“组1”成员的客户。
function fnFilterColumn ( i ){
$('#results').dataTable().fnFilter(
'^' + $("#filter").val() + '$',
i,
true
);
}
我将如何使其过滤“整个词组匹配”。因此,“Group 1”的过滤器将显示“Group 1”中的过滤器,而不会抓取“Group 10”。有什么想法吗?
答案 0 :(得分:2)
正则表达式方法似乎是明智的。 只需使用单词边界而不是开始/结束锚点:
function fnFilterColumn ( i ){
$('#results').dataTable().fnFilter(
'\\b' + $("#l"+(i)+"_filter").val() + '\\b',
i,
true
);
}
如果你这样做,你也会匹配多个组。