1.html
<input type="checkbox" name="" ng-click="checkAll()" ng-model="data.checkedAll">全选
<div ng-repeat="item in classifyList">
<input type="checkbox" name="" ng-model="item.checked" ng-click="check(item.id,item.checked)">{{item.classify}}
</div>
2.controller
$scope.data={
checkedAll:''
}
$scope.classifyList=[{
id:1,
classify:'手机数码'
},{
id:2,
classify:'电脑办公'
},{
id:3,
classify:'生活电器'
}]
//选择全部
var checkedNum=0;
$scope.checkAll=function(){
angular.forEach($scope.classifyList,function(value){
if($scope.data.checkedAll){
value.checked=true;
checkedNum=$scope.classifyList.length;
}else{
value.checked=false;
checkedNum=0;
}
})
}
//单选商品
$scope.check=function(id){
angular.forEach($scope.classifyList,function(value){
if(value.id==id&&value.checked){
checkedNum++
}else if(value.id==id&&!value.checked){
checkedNum--
}
})
//单选了所有商品,自动勾选全选。否则不勾选
if ($scope.classifyList.length === checkedNum) {
$scope.data.checkedAll = true;
} else {
$scope.data.checkedAll = false;
}
}