У меня есть раскрывающийся список с опцией multiselect. Я хочу отфильтровать данные из сложного JSON на основе этого массива.Фильтрующий комплекс Angularjs JSON по массиву
Выбранные параметры формирует массив данных, как:
$scope.myval=["Adyar","Paris","central"];
Мой JSON:
$scope.myTest={
"buslist":
{
"code":"1",
"message":"Success",
"fromStationCode":"71",
"searchResult":[ {
"arrivalTime":"17:00:00",
"availableSeats":"42",
"boardingPointDetails":[{
"code":"1631",
"name":"Koyambedu",
"time":"09:30:00"
},
{
"code":"961296",
"name":"Paris",
"time":"09:45:00"
}
]
]
},
{
"arrivalTime":"18:00:00",
"availableSeats":"32",
"boardingPointDetails":[{
"code":"2084",
"name":"Adyar",
"time":"09:30:00"
},
{
"code":"961296",
"name":"Madurai",
"time":"09:45:00"
}
]
]
}
}
...
};
Мой HTML шаблонный является:
<tbody ng-repeat=" i in myTest.buslist.searchResult" >
<tr>
<td>{{i.arrivalTime}}</td>
<td>{{i.availableSeats}}</td>
<td>
<p ng-repeat="m in i.boardingPointDetails">{{m.name}}</p>
</td>
</tr>
</tbody>
Я хочу, чтобы фильтровать данные, основанные на выбранные значения. Я пытался что-то вроде этого:
$scope.matched = $scope.myTest.buslist.searchResult.boardingPointDetails.name.indexOf(data);
т.е. Выбрана параметры должны соответствовать поле «имя» в «boardingPointDetails», но это не удается. Заранее спасибо.
Он не работает .. :( – keerthi
, что делает 'data' содержит то, что это структура –
данных нет ничего, но выбранные опции Это находится в формат массива. $ scope.myval = ["Adyar", "Paris", "central"]; – keerthi