2014-09-05 3 views
0

Ce que j'essaie de faire est de rechercher par plusieurs champs d'une répétition en combinaison. Le problème est lorsque je recherche par le modèle query.$ je ne peux pas effectuer de recherche à partir de plusieurs champs.AngularJS filtres - recherche de plusieurs champs

Ce que je suis à la recherche est à la recherche de 1234 + Nom de la rue

<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> 

J'ai trouvé un set of filters que je pensais travailler, mais pas sûr que je utilise ce droit.

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

Toute aide appréciée. Voici ce que j'ai fait. http://plnkr.co/edit/75nGxVgqL3lJVFlGyZMY?p=preview

Répondre

0

en utilisant une fonction sous-jacente est une façon, voir: http://ngtutorial.com/learn/filter.html#/_tblcontents_20

mise à jour

s'il vous plaît me dire si cet exemple ne l'explique pas correctement, merci.

Mise à jour , ajoutez exemple

return 'true' si vous voulez l'élément.

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"> 
+0

Merci, mais ne sais pas si je comprends ou c'est ce que je dois. Jetez un coup d'oeil au lien. http://plnkr.co/edit/75nGxVgqL3lJVFlGyZMY?p=preview – hyperdrive

+0

mis à jour pour donner un exemple, retourner vrai si vous vouliez l'article. –

+0

essayez d'éviter d'utiliser '$' dans le filtre Filtre, car cela va essayer de rechercher toutes les propriétés. –

Questions connexes