【发布时间】:2016-05-03 20:02:41
【问题描述】:
我想使用 ng-repeat 制作多选复选框。如果我没有预先选择的复选框,它工作正常。但是当我预先选择了复选框时,它的行为是完全不寻常的。
<div ng-repeat="account in accounts">
<input ng-model="selectedAccounts[account.id]"
ng-checked="{{account.lastchecked}}" type="checkbox">
</div>
在控制器中,我选择的 id 为:
$scope.selectedAccounts = [];
angular.forEach($scope.selectedAccounts, function(value, key) {
if(value == true) {
selectedIds.push(key);
}
});
这里的问题是我必须用初始数组初始化 selectedAccounts。如果我不这样做,那么它会给我不确定的。当我为某些帐户设置了'lastchecked' true 时,它会根据 lastchecked 显示预先检查的值,但是当我尝试检索 $scope.selectedAccounts 时,它会给我一个空数组。但是当我手动选中/取消选中每个选项时, $scope.selectedAccounts 会给我正确的结果。
【问题讨论】:
标签: javascript angularjs checkbox