簡體   English   中英

Angular JS Filter Group選擇過濾器

[英]Angular JS Filter Group Select Filter

我有一個類似於下面的用戶對象:

$scope.users = [
     { 
         name : 'John Doe',
         attached_groups = [
            {1:object},
            {2:object}
         ]
     },
     { 
         name : 'Bob Doe',
         attached_groups = [
            {3:object},
            {4:object}
         ]
     }
];

在我的HTML中,我有以下組選擇。

<select id="group_filter">
     <option value="1">Group 1</option>
     <option value="2">Group 2</option>
     <option value="3">Group 3</option>
     <option value="4">Group 4</option>
</select>

我想在組中添加一個過濾器到ng-repeat to filer。 我有以下ng-repeat。

<tr ng-repeat="user in users| filter:query>

任何幫助,將不勝感激。

好吧,我沒有改變$ scope.users的結構,但是你需要復習,因為我認為這不是最好的方法。

重要的是:

http://codepen.io/luarmr/pen/YXVqqp

ng-repeat="user in users | filter:search"

你需要定義搜索過濾器:

$scope.search = function(user) {

    if ($scope.filter === undefined ) {
      return true;
    }

    var match = false;

    angular.forEach(user.attached_groups, function(group) {
      if (group.hasOwnProperty($scope.filter)) {
        match = true;
      }
    });

    return match;
 };

如果更改attached_groups,過濾器可能會更容易。 您可以在此處查看示例: https//docs.angularjs.org/api/ng/filter/filter

創建文本類型的輸入,並輸入ng-model="query"

<input type="text" ng-model="query">

這將被過濾:

<tr ng-repeat="x in users | filter:query">...</tr>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM