答案 0 :(得分:0)
你可以这样做,
<label ng-repeat="option in permissions.headers">
<input ng-click="checkPermission()" type="checkbox"
ng-model="option.selected"
ng-checked="option.selected">
{{ option.title }}
</label>
$scope.checkPermission=function(option){
var lengthTemp=($filter('filter')($scope.permissions.headers,{'selected':true})).length;
if(lengthTemp<3) {
option.selected=!option.selected;
}
};
}
$ filter('filter')($ scope.permissions.headers,{'selected':true}))。length 将过滤那些选中了复选框的permissions.headers中的选项。
我希望这就是你要找的东西。
答案 1 :(得分:0)
您可以执行类似
的操作<input ng-change="!option.selected && permissions.headers | filter: {selected: true}).length<=3 && option.selected= true" type="checkbox"
ng-model="option.selected"
ng-checked="option.selected"/>
{{ option.title }}
或强>
您可以将相同的逻辑移动到控制器方法。
<强>标记强>
ng-change="changeCheckbox(option)
<强>控制器强>
$scope.changeCheckbox = function (option)
{
if(!option.selected && $scope.$eval('permissions.headers | filter: {selected: true}).length<=3'))
option.selected = false;
}