Angular如何选中复选框,单击div

时间:2015-04-21 16:32:34

标签: javascript angularjs checkbox

我需要选中/取消选中复选框,点击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;
&#13;
&#13;

1 个答案:

答案 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)">