我有div-repeat:
127.0.0.1 computer-name.local
我使用ng-model pass值来选中/取消选中复选框。 我有一个按钮,当点击它时,所有复选框都取消选中。我使用$ scope.abc = false;但没有变化。如何更改ng-model值?
答案 0 :(得分:4)
复选框共享相同的模型。更改列表以包含每个对象的checked
属性,然后使用它来处理检查哪个对象。如下所示:
<div ng-repeat="a in list" ng-click="a.checked = !a.checked">
//some code here
<input type="checkbox" ng-model="a.checked">
</div>
<button ng-click="reset()"> reset </button>
答案 1 :(得分:0)
您的“abc”变量是全局变量。您必须将状态存储为已建议的每个对象的属性。
这是一个工作示例:
HTML
<div ng-repeat="item in list" ng-click="item.checked = !item.checked">
<input type="checkbox" ng-model="item.checked">{{item.value}} (clickme!)
</div>
<button ng-click="reset()"> reset </button>
</div>
JS
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.list = [{value: 1}, {value: 2}, {value: 3}];
var length = $scope.list.length;
$scope.reset = reset;
function reset() {
for (var i=0; i<length; i++) {
var item = $scope.list[i];
item.checked = false;
}
}
}
(你可以在行动here中看到它)