我想验证已选中复选框的最大数量。 我有这个功能,它有效。
$('.Item:input').each( function (i, element) {
$(element).click(function() {
if ($('.Item:checked').length > 10) {
alert('error');
$(element).attr('checked', false)
}
})
});
现在我不知道如何以及在哪里以角度调用它。我想在ng-click事件上调用它,但它只在第二次点击时工作(显然)(第一次只调用函数)
任何人都可以帮助我吗?
答案 0 :(得分:1)
我使用data-ng-init而不是ng-click解决了它。
答案 1 :(得分:0)
$viewContentLoaded
事件意味着要接收此事件,您需要一个父控制器,如:
<div ng-controller="MainCtrl">
<div ng-view></div>
</div>
您可以在MainCtrl中收听事件
$scope.$on('$viewContentLoaded', function(){
//Here your view content is fully loaded !!
});
检查Demo。
我认为这可能会解决您的问题,或者至少让您更接近解决方案。
答案 2 :(得分:0)
你拥有的代码是jquery,因为角度方法完全不同。
我举了一个例子。 http://jsfiddle.net/neolivz/8x15o1t4/
您可以设置模型
<input type="checkbox" ng-model="test.value" ng-change ="updateCount(test)">
并在updateCount
api
$scope.updateCount = function(test){
if(test.value){
$scope.count++;
}else{
$scope.count--;
}
if($scope.count==10){
test.value = false;
$scope.count--;
return;
}
}