在angular js中绑定多个复选框
Binding multiple checkboxes in angular js
我有两个数组来自对象的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>
我不知道如何选中那些选中的复选框。请帮忙!
感谢
我认为您的$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模型将负责为您选择或不选择复选框
如果你真的需要一个具有选定类别的对象,你也可以这样做:
$scope.$watch("categories", function(oldVal, newVal){
//Create your object here
});
您的问题有两种方法。
- 您可以用ng-checked="checkSelected(item.id)"调用函数。在函数中传递id。然后在控制器中将其与
$scope.selected_category
数组的id进行比较,并返回与该数组匹配的id - 您可以直接在ng-checked指令中编写条件(只有当您的数据不太大时才适用)
相关文章:
- 将角度材质设计复选框绑定到控制器中的数组
- 根据 Knockout.js 中的复选框绑定将来的日期选择器最大日期
- 将复选框绑定到 AngularJs 中的对象值
- 将两个复选框绑定在一起
- 复选框绑定的选中状态倒置在Chrome
- 如何使用angular数据绑定将一个复选框绑定到一个select disabled属性
- Ember.js复选框绑定初始值设置不正确
- 如何使复选框绑定到数据模型中的布尔值
- AngularJS用复选框绑定对象
- 将复选框绑定到Ember 2+中一个数组的元素
- 如何使用knockout.js将复选框绑定到谷歌地图标记
- 在Ember.js中将选中的复选框绑定到数组属性
- 我如何将输入复选框绑定到Javascript函数
- 材质角度复选框绑定自定义输入复选框
- 取消复选框绑定
- angalrjs中的复选框绑定
- js -将多个复选框绑定到单个数组
- 如何在knockout js中为复选框绑定更改事件
- VueJS:从文本框中的多个复选框绑定中获取值
- 角度复选框绑定不正确