Я хочу фильтровать объект внутри вложенного ng-repeat.
HTML:
<div ng-controller="MyController">
<input type="text" ng-model="selectedCityId" />
<ul>
<li ng-repeat="shop in shops">
<p ng-repeat = "locations in shop.locations | filter:search" style="display: block">
City id: {{ locations.city_id }}
<span style="padding-left: 20px; display: block;" ng-repeat="detail in locations.details | filter:item">Pin code: {{detail.pin}}</span>
</p>
</li>
</ul>
Контроллер:
var myApp = angular.module('myApp', []);
myApp.controller('MyController', function ($scope) {
$scope.search = function (location) {
if ($scope.selectedCityId === undefined || $scope.selectedCityId.length === 0) {
return true;
}
if (location.city_id === parseInt($scope.selectedCityId)) {
return true;
}
};
$scope.item = function (detail) {
if ($scope.selectedCityId === undefined || $scope.selectedCityId.length === 0) {
return true;
}
if (detail.pin == parseInt($scope.selectedCityId)) {
return true;
}
};
$scope.shops =
[
{
"category_id":2,
"locations":[
{
"city_id":368,
"details": [{
"pin": 627718,
"state": 'MH'
}]
}
]
},
{
"name":"xxx",
"category_id":1,
"locations":[
{
"city_id":400,
"region_id":4,
"details": [{
"pin": 627009,
"state": 'MH'
},{
"pin": 129818,
"state": 'QA'
}]
},
]
},
];
});
Здесь скрипка:
http://jsfiddle.net/suCWn/210/
Я хочу использовать несколько фильтров внутри ng-repeat.
Пример: каждый раз, когда пользователь вводит идентификатор в поле ввода. Список должен фильтроваться на основе cityID или PinCode. если пользователь вводит "129818", он должен показать результат PIN-кода 129818 вместе с его родительским идентификатором города Аналогично, если пользователь вводит 400, список должен фильтровать и отображать результат cityID с 400 вместе с его дочерним кодом.
EDIT:
Обновить код http://codepen.io/chiragshah_mb/pen/aZorMe?editors=1010]