Filter results in angularjs based on select value
You need to mention direct id in your filer like id
that will look up through ourTeamCategories
id & for more accurate result do add true
at the end will ensure the exact matching rather than contains & also missed colon :
<li ng-repeat="cat in ourTeamCategories | filter : {id: catFilter.id}: true">
Update
You are mixing up two approaches at the same time like ng-options
with ng-repeat
. I think you should stick with ng-options
, so in your current ng-option which is setting title
value in your ng-model
<select name="show-filter" ng-model="catFilter" ng-options="category as category.title for category in ourTeamCategories"></select>
Forked Plunkr here
You need a colon after filter
. Try this:
filter: {cat.id:catFilter.value}