注: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 –
**選択した値を含むアイテムを非表示にする** **非表示にする選択された値を含まないアイテム**その他のあなたのリストには、選択された値である1つの値のみが含まれます。だから '黄色 'を選択した場合、' ng-repeat'の出力リストはどのように見えますか? – user2718281