【问题标题】:AngularJS filters - search multiple fieldsAngularJS 过滤器 - 搜索多个字段
【发布时间】:2014-09-05 14:25:23
【问题描述】:

我想做的是通过组合重复的多个字段进行搜索。问题是当我通过 query.$ 模型搜索时,我无法从多个字段中搜索。

我正在寻找的是搜索 1234 + 街道名称

<input ng-keypress="searching()" type="text" ng-model="query.$" placeholder="Search" />

<li ng-repeat="item in (filteredItems = (items| filter:query))">
     {{item.address.streetNumber}} {{item.address.streetName}}
</li>

我找到了一个 set of filters,我认为它可以工作,但不确定我是否正确使用它。

filterBy: ['item.address.streetNumber' + 'item.address.streetName']: query

任何帮助表示赞赏。这是我所做的。 http://plnkr.co/edit/75nGxVgqL3lJVFlGyZMY?p=preview

【问题讨论】:

    标签: javascript angularjs search


    【解决方案1】:

    使用谓词函数是一种方法,请参阅:http://ngtutorial.com/learn/filter.html#/_tblcontents_20

    更新

    如果该示例没有正确解释,请告诉我,谢谢。

    更新,添加示例

    如果您想要该项目,请返回“true”。

    myApp.controller('MyCtrl', ['$scope', function($scope) {
    
      $scope.predfn = function(v) {
        return v.name == '123' || v.phone == 'Fake Street';
      };
    

    ...

     <tr ng-repeat="friendObj in friends | filter:predfn">
    

    【讨论】:

    • 谢谢,但不确定我是否理解或者这就是我需要的。看看链接。 plnkr.co/edit/75nGxVgqL3lJVFlGyZMY?p=preview
    • 已更新为示例,如果您想要该项目,则返回 true。
    • 尽量避免在过滤器Filter中使用'$',因为这会尝试搜索每个属性。
    猜你喜欢
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    相关资源
    最近更新 更多