2015-02-26 6 views
1

Я пытаюсь отфильтровать массив объектов с помощью ng-repeat по определенному ключу, или вы можете даже назвать его столбцом. Ключ/столбец, на который должен применяться фильтр, поступает из блока выбора.Фильтрация определенного столбца с помощью ng-repeat

data-ng-model="selectedValue" // -> item.name 

термин, который следует искать исходит от поля ввода и decalred следующим образом:

<input type="text" data-ng-model="q"> 

<div data-ng-repeat="item in items |filter:{selectBoxValue:q}">{{item.name}}</div> 

выше не работает, к сожалению. Но когда я использую item.name instat selectBoxValue в моем фильтре, он отлично работает.

+0

Может вы создаете скрипку/плункер этой проблемы? –

ответ

0

В контроллере:
$ scope.search = {}

В разметке

<input ng-model="colName"> //colName <input ng-model="search[colName]"> //colvalue

<div data-ng-repeat="item in items |filter:search">{{item.name}}</div>

+0

Не могли бы вы поделиться рабочей демонстрацией того же самого. – Shashank

0

Нашли решение. Теперь вы можете фильтровать определенный столбец в случае anyProperty.

<input type="button" ng-click="changeFilter('anyProperty')"> 
<input type="text" ng-model="q[filter]"> 
<div ng-repeat="item in items | filter:q"> 

$scope.changeFilter = function(q){ 
    $scope.filter = q; 
} 
Смежные вопросы