我有两个来自对象的web服务的数组。一个是所有类别,另一个是像这样选择的类别
$scope.categories = [
{ "id": 1, "name": "cat1" },
{ "id": 2, "name": "cat2" },
{ "id": 3, "name": "cat3" },
{ "id": 4, "name": "cat4" }
];
$scope.selected_category = [
{ "id": 1, "name": "cat1" },
{ "id": 2, "name": "cat2" }
];
我的标记就像这样
<div class="form-group">
<label>Category</label>
<div class="clr"></div>
<label class="checkbox-inline" ng-repeat="item in categories">
<input type="checkbox" value="{{item.id}}" ng-model="?" ng-checked="?">
{{item.name}}
</label>
</div>
我无法弄清楚如何检查那些选中的复选框。请帮忙!
由于
答案 0 :(得分:0)
您的问题有两种方法。
答案 1 :(得分:0)
我认为您的$ scope.categories应该以这样的方式更新:
$scope.categories = [
{ "id": 1, "name": "cat1", "isSelected": false },
{ "id": 2, "name": "cat2", "isSelected": false },
{ "id": 3, "name": "cat3", "isSelected": false },
{ "id": 4, "name": "cat4", "isSelected": false }
];
并以这种方式使用:
<div class="form-group">
<label>Category</label>
<div class="clr"></div>
<label class="checkbox-inline" ng-repeat="item in categories">
<input type="checkbox" value="{{item.id}}" ng-model="item.isSelected">
{{item.name}}
</label>
</div>
ng-model将负责选择或不选择复选框
如果您确实需要一个包含所选类别的对象,您也可以这样做:
$scope.$watch("categories", function(oldVal, newVal){
//Create your object here
});