Примечание: AngularJS версия 1.2.28Как фильтровать данные на основе значения выпадающего меню?
Я новичок в AngularJS и пытается скрыть элементы на основе значения, выбранного в раскрывающемся меню. Если выбрана опция «Черный», в таблице данных должны отображаться только элементы с цветом разделения «Черный». Если выбрана опция «Желтый», в таблице данных должны отображаться только элементы с цветом разделения «Желтый».
Как я могу фильтровать данные и скрывать элементы, которые не содержат значения, выбранного в раскрывающемся меню?
Вот мои данные примеров (я ушел из директивы приложения и контроллера для краткости):
[{ lastName: 'Doe', firstName: 'John', division: 'Blue'},
{ lastName: 'Smith', firstName: 'Jane', division: 'Yellow' }]
выпадающей HTML:
<select ng-model="orderProp">
<option value="division">Black</option>
<option value="division">Yellow</option>
</select>
Таблица Вид:
<table>
<thead>
...snip ...
</thead>
</table>
<tbody>
<tr ng-repeat="item in items | orderBy: orderProp">
<td></td>
</tr>
</tbody>
Мой скрипт:
var myApp = angular.module('myApp', []);
myApp.controller('MyCtrl', function($scope, $http){
$http.get('data.json').success(function(data){
$scope.items = data;
$scope.orderProp = 'lastName';
});
});
https://docs.angularjs.org/api/ng/filter/filter –
Вы не имеете в виду ** скрыть элемент, который содержит выбранное значение? ** вместо ** hide элементы, которые не содержат выбранное значение **, другой мудрый список будет содержать только 1 значение, которое является выбранным значением. Итак, если выбрана опция «Желтый», как выглядит ваш выходной список в 'ng-repeat'? – user2718281