Angular JS: фильтр по нескольким именам в одном столбце

0

Я новичок в Angular JS. Цель - показать количество разных размеров в одном текстовом поле.
Например: если пользовательский тип 180, а также 375, то для этих размеров должен быть показан запас.
HTML:

<div ng-app="myApp" ng-controller="myCtrl">
<div>
<table>
<tr>
<td>Search</td>
<td><input type="text" name="search" ng-model="search"/></td>
</tr>
</table>
</div>
 <table>
                     <tr>
                        <th>Size</th>.
                        <th>Stock</th>
                     </tr>

                     <tr ng-repeat = "subject in records| filter:search">
                        <td>{{ subject.size}}<td>
                        <td>{{ subject.stock }}</td>
                     </tr>

                  </table>

</div>

Угловой JS:

<script>
var app = angular.module('myApp', []);

app.controller('myCtrl', function($scope) {
       $scope.records = [
       {
            "size" : "180",
            "stock" : 250
        },{
            "size" : "180",
            "stock" : 150
        },{
            "size" : "375",
            "stock" : 100
        },{
            "size" : "750",
            "stock" : 150
        },{
            "size" : "1000",
            "stock" : 750
        },{
            "size" : "750",
            "stock" : 1500
        },{
            "size" : "180",
            "stock" : 500
        },{
            "size" : "375",
            "stock" : 650
        }
    ]



});
</script>

Ожидаемый результат:

Search Box : 180,375
Size    Stock
180      250
180      150
180      500
375      100
375      650

Возможно ли, что я понятия не имел. Если да, пожалуйста, предложите мне. Спасибо заранее.

  • 0
    Написать собственный файлер или функцию поиска на основе ng-изменения поля ввода
Теги:
angularjs-filter
angularjs-ng-repeat

1 ответ

2
Лучший ответ

Вы можете создать собственный фильтр следующим образом: https://plnkr.co/edit/8FY2RnyE0AEgb659nkPe?p=preview

app.filter("multiple", function($filter) {
  return function(items, query) {
    return $filter('filter')(items, "size", function(v) {
      return query.indexOf(v.size) > -1;
    });
  };
});  
  • 0
    Большое спасибо. Код классический.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню