【发布时间】:2014-11-18 23:16:06
【问题描述】:
我是 AngularJS 的新手,并试图通过单击引导程序样式的“切换”按钮来选中/取消选中所有复选框。
标记:
<button id="toggle" class="btn btn-link btn-mini" ng-click="setActionTypesAllCheck()">Check all</button>
<div class="row-fluid" ng-repeat="at in actionsQuery.actionTypes">
<div class="checkbox">
<label><input type="checkbox" ng-model="at.checked">{{at.Description}}</label>
</div>
</div>
JavaScript:
$scope.setActionTypesAllCheck = function () {
$.each($scope.actionsQuery.actionTypes, function (i, cb) {
cb.checked = !cb.checked;
});
};
此时 JavaScript 中的代码检查和取消选中所有复选框,但它没有考虑其中一些是否被手动选中/取消选中,这意味着它不能正常工作。
所以,无论是否选中某些复选框,我都需要通过单击“切换”按钮来选中所有复选框并将其名称更改为“取消选中所有”,反之亦然,即取消选中所有复选框并无论是否选中某些复选框,都将其名称更改为“全部选中”。
【问题讨论】:
标签: javascript angularjs checkbox