如何使用ng-model使用OR运算过滤多个值?

时间:2016-08-19 20:18:51

标签: javascript html css angularjs angular-ui-bootstrap

我目前有一个ng-modal我标记为" myQuery。"现在,它有两个过滤器,如下所示:

    <accordion-group heading="" ng-repeat="hungry_pets in Pets" | filter:{hungry:false} | filter:{name:myQuery}" ... >

我一直在网上寻找一种方法来执行过滤器,这样无论我在查询中放置什么,它都会返回任何字段中匹配的宠物列表(包含字母序列)。因此,我当前的对象包含以下字段:&#39;姓名&#39;,&#39;所有者&#39;&#39;颜色&#39;,&#39;权重&#39;和&#39; ;饿&#39 ;.理想情况下,我会尝试类似于我在question中找到的类似于:

的内容
    <accordion-group heading="" ng-repeat="hungry_pets in Pets" | filter:{hungry:false} | filter:({name:myQuery}||{owner:myQuery}||{color:myQuery}||{weight:myQuery})" ... >

或:

    <accordion-group heading="" ng-repeat="hungry_pets in Pets" | filter:{hungry:false} | filter:filterALL)" ... >

有没有办法通过重新格式化上面的HTML标记来实现这一目标?如果我要写一个函数&#39; filterALL&#39;所以我可以用过滤器替换它:filterALL&#39;,那会是什么样的?

2 个答案:

答案 0 :(得分:1)

嗯,我知道这并没有完全回答这个问题,但是如果考虑任何参数进行搜索,而不考虑一组特定的参数,你可以使用&#39; $&#39;而不是特定的领域。

any

答案 1 :(得分:0)

您可以编写如下自定义过滤器:

JS:

app.filter('customFilter', function() {
  return function(arr, searchString){
      ....
  };
});

HTML:

<accordion-group heading="" ng-repeat="hungry_pets in Pets" | customFilter)" ... >