2015-01-22 3 views
4

У меня есть следующий HTML:Фильтр нг-повтора на основе поиска вход

<div> 
    <div> 
     <input type="text" placeholder="Search" ng-model="userSearch.firstname"> 
    </div> 
    </div> 

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

Так у меня есть поле ввода, где пользователи могут ввести и поиск в мой список всех пользователей. Есть ли способ применить фильтр inline в ng-repeat на основе того, что пользователь вводит в ввод поиска?

Текущее решение фильтрует только на FirstName

Я хотел бы, чтобы отфильтровать как и фамилии

Попробованных:

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

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

Но я думаю, что это и не является или.

+0

Вы посмотрели [документацию по фильму] (https://docs.angularjs.org/guide/filter)? – PSL

+0

Возможный дубликат [Angular.js ng-repeat: фильтр по одному полю] (http://stackoverflow.com/questions/14733136/angular-js-ng-repeat-filter-by-single-field) – PSL

+0

Я хочу фильтр по имени и фамилии, извините, должно быть, было более ясно. – lostintranslation

ответ

9

Изменить ng-модель от userSearch.firstname до userSearch.

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

http://jsbin.com/keyuno/1/edit?html,js,output

В качестве альтернативы можно изменить filter:userSearch к filter:userSearch.firstname. Вам просто нужно убедиться, что фильтр соответствует модели.

+0

Хм, да, похоже, это применимо к OR, который я ищу при поиске имени или фамилии. – lostintranslation

+0

Ваше решение, похоже, не фильтруется при поиске сначала последним. Это имеет смысл. Возможно ли это с этой моделью данных? – lostintranslation

+0

Я считаю, что вам нужно написать настраиваемый фильтр, который вернет true, если он соответствует либо первому, либо последнему, либо первому + "" + последнему. – Aweary

Смежные вопросы