我需要选中/取消选中复选框,点击div"用户检查"并调用doIfChecked(用户)。
我可以在ng-repeat中选中复选框并调用doIfChecked。
var app = angular.module('app', []);
app.controller('cont', ['$scope', function($scope) {
$scope.users = {user1:1,user2:2,user3:3};
$scope.toggleUserCo = function(user) {
user.co = !user.co;
}
$scope.doIfChecked = function (array) {
}
}]);

.user_check {
width: 600px;
border: 1px solid red;
}

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div class="user_check" ng-app="app" ng-controller="cont" >
<div class="user_check" ng-app="app" ng-click="toggleUserCo()" ng-repeat="us in users">
<input type="checkbox" checklist-value="contact" checklist-model="user.co" ng-click="doIfChecked(user)"/>
</div>
&#13;
答案 0 :(得分:2)
假设user.co
是一个布尔值,而checklist-model
相当于您使用的任何指令中的ng-model
,您可以在{{1}上设置ng-click
设置div
例如:
user.co = !user.co
在您的控制器中(或者,基于我没有看到您在<div class="user_check" ng-app="app" ng-click="toggleUserCo()">
<input type="checkbox" checklist-value="contact" checklist-model="user.co" ng-click="doIfChecked(user)"/>
</div>
内部定义控制器的事实,我想这会在您放置逻辑的任何地方(应该是控制器或服务......)):
ng-app
修改强>
由于这是$scope.toggleUserCo = function() {
$scope.user.co = !$scope.user.co;
}
,您可以将ng-repeat
对象传递给user
函数并对其执行操作:
toggleUserCo
和
<div class="user_check" ng-app="app" ng-click="toggleUserCo(user)">