2016-05-04 8 views
0

フィルターは、正確には似ていないテキストのみを検索します。例えば。エントリの1つが「John Dwayne Smith」であった場合、ユーザはフィルタで検索するためにそれらの単語を正確な順序で入力する必要がありますが、「Hello there、world!」という方法で検索作業を行う方法"John Smith"のように人がそれらの単語の組み合わせを入力しても表示されますか?同様の単語と正確でない単語を使用した角フィルター検索

HTML:

<input type="text" placeholder="Search" ng-model="userSearch"> 

    <div ng-repeat="user in users | filter:userSearch"> 
    <div> 
     {{user.firstname}} {{user.lastname}} 
    </div> 
    </div> 

JS:

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

    $scope.users = [ 

    {firstname: 'john', lastname: 'dwayne smith'}, 
    {firstname: 'jane', lastname: 'dwayne due'}, 
    {firstname: 'bob', lastname: 'dwayne rand'} 

    ]; 

}); 

JSBin Example

+0

となります。フィルタ:{firstname:userSearch}:true –

+0

この[jsfiddle](https://jsfiddle.net/xie_qianyue/jegfk1tw/)のコンビネーションを参照してください。 – Qianyue

+0

フィルタ:{firstname:userSearch}:true doesnt work – AnAspiringCanadian

答えて

1

angular-filterを見てください。それはfuzzy filterを提供します。

<input type="text" ng-model="search" placeholder="search book" /> 
<li ng-repeat="book in books | fuzzy: search"> 
    {{ book.title }} 
</li> 
<!--case sensitive--> 
<li ng-repeat="book in books | fuzzy: search: true"> 
    {{ book.title }} 
</li> 
+0

ありがとう、これは働いた。 – AnAspiringCanadian

0

角度フィルタを使用すると、フィルタは 'のように'のように動作しますが、最後にtrueを追加すると、 'equal'

+0

私は使用していません:真実なので、それは私がそれをしたい、あなたが言うことが真実であれば、私は正しいですか? – AnAspiringCanadian

+1

ng-repeat = "ユーザーのユーザー|フィルタ:userSearch:true – Elka

+1

また、これを試すこともできます。ng-repeat =" user in users |フィルタ:userSearch:strict " – Elka

関連する問題