Answer the question
In order to leave comments, you need to log in
How to set many filters for one key in Angular?
Отталкивался от этого примера plnkr.co/edit/5WF6FxvwocVBqhuvt4VL?p=preview
Начал пробовать изменить этот пример и столкнулся с проблемой, не получается выставить на 1 ключ 2 и более фильтра(ключ это материал, а фильтры дерево, пластик). Когда ищу дерево, находит норм, пластик так же, но вместе ничего не показывает, а как совместить что бы показывало вместе дерево и пластик? И возможно направить фильтр чисто по ключу?(фильтр число 1, ключ размер, а находит все где есть 1)
<tr data-ng-repeat="hotel in hotels | filter:search.type1 | filter:search.type2">
<td>{{hotel.name}}</td>
<td>{{hotel.star}}</td>
<td>{{hotel.type}}</td>
<td>{{hotel.price}}</td>
</tr>
<input type="checkbox" data-ng-model='search.type2' data-ng-true-value='double suite' data-ng-false-value='' /> Double suite
Answer the question
In order to leave comments, you need to log in
In such cases, you need to write a special filter
app.filter('filterMaterials', function () {
return function (materials, wood, plastic) {
var filteredMaterials = [];
for (var i = 0; i < materials.length; i++) {
if (materials[i].type === wood || materials[i].type === plastic) {
filteredMaterials.push(materials[i]);
}
}
return filteredMaterials;
};
});
<tr data-ng-repeat="material in materials | filterMaterials:search.wood:search.plastic">
<td>{{material.name}}</td>
<td>{{material.type}}</td>
<td>{{material.price}}</td>
</tr>
<input type="checkbox" data-ng-model='search.wood'/>
<input type="checkbox" data-ng-model='search.plastic'/>
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question