我看过这个傻瓜。
http://plnkr.co/edit/WJzTr8AR8dhWIjXELNY1?p=preview
它会过滤掉第一个字符。有没有人试图基于子字符串搜索执行此过滤。如果是这样,请告诉我
我正在修改过滤器文本,如图所示
angular.forEach(filterBarPlugin.scope.columns, function(col) {
if (col.visible && col.filterText) {
var filterText = (col.filterText.indexOf('*') == 0 ? col.filterText.replace('*', '') : col.filterText + "^") + ";";
searchQuery += col.displayName + ": " + filterText;
}
});
答案 0 :(得分:2)
原始的plunkr是从头开始设计过滤的。如果您从子字符串进行过滤,则可以尝试*
开始过滤器文本框。
如果您不喜欢,可以修改filterBarPlugin
功能:
var filterText = (col.filterText.indexOf('*') == 0 ? col.filterText.replace('*', '') : "^" + col.filterText) + ";";
searchQuery += col.displayName + ": " + filterText;
要
var filterText = col.filterText +'; ';
searchQuery += col.displayName + ": " + filterText;
更新:已修复不允许多列排序,谢谢 @mainguy
答案 1 :(得分:1)
这不是一个真正的答案,而是对 @allyusd 的答案的更新。
他基本上是正确的,但他的无心式解决方案不允许进行多列排序,因为缺少分号。
这些小改动:
angular.forEach(filterBarPlugin.scope.columns, function(col) {
if (col.visible && col.filterText) {
var filterText = col.filterText +'; ';
searchQuery += col.displayName + ": " + filterText;
}
});
您可以在此plunk中过滤name=or
AND age=4
,然后您将获得 Enors 。
正如我所说:只是一个更新,感谢allyusd!