Я хочу ограничить пользователя, чтобы снять флажки, если не установлены три три. Он не сможет снять галочки, если все три уже сняты.Ограничение снятия флажков после n не отмечено - Angularjs
Вот код.
http://jsbin.com/corecetepa/1/edit
Я хочу ограничить пользователя, чтобы снять флажки, если не установлены три три. Он не сможет снять галочки, если все три уже сняты.Ограничение снятия флажков после n не отмечено - Angularjs
Вот код.
http://jsbin.com/corecetepa/1/edit
Вы могли бы сделать что-то вроде
<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 }}
ИЛИ
Вы можете переместить ту же логику к методу контроллера.
Markup
ng-change="changeCheckbox(option)
Контроллер
$scope.changeCheckbox = function (option)
{
if(!option.selected && $scope.$eval('permissions.headers | filter: {selected: true}).length<=3'))
option.selected = false;
}
Вы можете сделать так,
<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;
}
};
}
$ фильтра ('фильтр') ($ scope.permissions.headers, { 'выбрано': истинно}).) Длина будет фильтровать эти параметры в permissions.headers, для которых установлен флажок.
Надеюсь, это то, что вы ищете.
Спасибо за это, но это отключит Флажки должны быть проверены. Я хочу, чтобы они были проверены, но не были отменены, когда достигнут предел. –
Проверьте отредактированный ответ и дайте мне знать, если это то, что вы искали. @NishantSankhala – Jan
Это не работает :(, это сработало для вас в jsbin? –
Это прекрасно работает. Большое спасибо :) –
Рад помочь вам ... –