简体   繁体   English

如何使用AngularJs通过两个字段的相同选择进行过滤?

[英]How to filter by same select with two fields with AngularJs?

I have a select box with some options to filter. 我有一个选择框,其中包含一些要过滤的选项。 I want to filter by two different fields cities and categories: 我想按两个不同领域的城市和类别进行过滤:

HTML: HTML:

   <select ng-options="c.id as c.name  for c in categories" class="form-control" name="categories" ng-model="categoriesFilter">
     <option value="">All</option>
   </select>

<select ng-options="o.id as o.name  for o in cities" class="form-control" name="cities" ng-model="citiesFilter">
  <option value="">All</option>
</select>

JS: JS:

$scope.categories = [
    {name : "Private", id : 2},
    {name : "Buisness", id : 1},
    {name : "Deleted", id : 3}
];

I filter like this: 我这样过滤:

<tr ng-repeat="cust in customers | filter : {city:citiesFilter|| 
undefined} | filter : {typeCust: categoriesFilter|| undefined} | filter : 
{deleted: categoriesFilter}">

Here is the full example: jsFiddle 这是完整的示例: jsFiddle

You need to chain filters 您需要链接过滤器

<tr ng-repeat="cust in customers | filter: {city: citiesFilter || undefined} | filter: { typeCust: categoriesFilter || undefined}">

Full fiddle: https://jsfiddle.net/vaf031mr/16/ 完整的提琴: https : //jsfiddle.net/vaf031mr/16/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM