0

我想在列表视图应用过滤器。每当我在打字输入字段任何它筛选我的名单。我是能当我写用户名过滤当我写“啪”,这是对用户可见。实例它排序我的列表,并只显示一行。这是正确的。但当我写在“关键字过滤器”这是不可见的用户它不过滤。换句话说,当我输入“Angular js”第二个输入字段(“关键字过滤器”)。它应显示pab ..因为“pab”有角js关键字。如何在不可见的角度js中应用滤镜?

这里是我的代码 http://plnkr.co/edit/TccgJydcZNkXQGpnbbP0?p=preview

// Code goes here 

angular.module('myApp', []) 
    .controller('myCtrl', function($scope){ 

    $scope.users = [ 

    {firstname: 'john', lastname: 'smith', 

       keywords: ["HTML", "CSS", "JavaScript", "jQuery", "Photoshop"] 

    }, 
    {firstname: 'pab', lastname: 'due', 
      keywords: ["Ruby on Rails", "PostgreSQL", "AngularJS", "Node.js"] 

    }, 
    {firstname: 'bob', lastname: 'rand',   keywords: ["java", "php", "test", "jira"] 
} 

    ]; 

}); 

回答

4

在你ng-repeat你是不是你的关键字输入滤波后 - 你错过了。只要它包含如下:

<div ng-repeat="user in users | filter:userSearch | filter:{ keywords: keyword }"> 
+0

请提供plunker – user944513

+4

认真....?只需复制该行? –

+0

正在尝试等待我正在尝试 – user944513

0

你只需要添加第二个输入相同的NG-型号:

ng-model="userSearch" 

<body ng-controller='myCtrl'> 
    <div> 
    <div> 
     <input type="text" placeholder="username search" ng-model="userSearch"> 
    </div> 
    <br> 
    <div> 
     <input type="text" placeholder="keyword search" ng-model="userSearch"> 
    </div> 
    </div> 

plunker:http://plnkr.co/edit/Nqp45xwrZqPLIWDtjGvQ?p=preview

希望可以帮助好运。

+0

问题在于,这不会仅针对关键字进行过滤,并且您无法同时过滤其他关键字和用户名 –

+0

是的,因为它是同样的绑定你不能同时过滤两个不同的单词。 您的解决方案可以更好地解决问题。 –