2017-07-14 27 views
0

我已经加载了默认选中的复选框。如果用户取消选中,则应存储它的值。怎么做? 在这里我给所有元素的代码已经检查。如何存储复选框的结果是否为真

$scope.isAllRecordSelected = function(record) { 
    var checked = false; 
    for (var i = 0; i < $scope.users.length; i++) { 
    if (record === $scope.users[i]) { 
     checked = true; 

     $scope.users[i].selected = checked; 
    } 


    } 
    return checked; 
}; 

HTML:

<div ng-repeat="record in users"> 
    <div class="col-md-2 col-sm-2 col-xs-2"> 
    <label> 
     <input type="checkbox" ng-model="isAllSelected"       
       ng-change="userSelectedToggle()"    
       ng-checked="isAllRecordSelected(record)">    
    </label> 
    </div> 
    <div class="col-md-6 col-sm-6 col-xs-6"> 
    <div class="text-overflow"> 
     <span ng-model="record.dispalyName"> 
      {{record.displayName}}</span> 
    </div> 
    </div> 
    <div class="col-md-4 col-sm-4 col-xs-4"> 
    <span ng-model="record.mobile"> {{record.mobile}}</span> 
    </div> 
</div>         
+0

保持大小的数组:'$ scope.users.length;',并设置其值为'真/ FALSE'每当有人正在检查/取消选中复选框 –

+0

如何做到这一点? –

+0

如果您已经编写了有问题的代码,那么我非常确定,您可以按照我的建议进行操作。这非常直截了当。 –

回答

1

你已经有一个关键叫selected在你的用户阵列将跟踪选中/取消值。您必须在页面加载时默认呼叫您的isAllRecordSelected(),这样每个复选框都会被选中。现在,您可以根据选择键保持选中/取消选中复选框的计数。

HTML

<div ng-repeat="record in users"> 
    <div class="col-md-2 col-sm-2 col-xs-2"> 
    <label> 
     <input type="checkbox" ng-model="isAllSelected"       
       ng-change="userSelectedToggle($index)"    
       ng-checked="record.selected ">    
    </label> 
    </div> 
    <div class="col-md-6 col-sm-6 col-xs-6"> 
    <div class="text-overflow"> 
     <span ng-model="record.dispalyName"> 
      {{record.displayName}}</span> 
    </div> 
    </div> 
    <div class="col-md-4 col-sm-4 col-xs-4"> 
    <span ng-model="record.mobile"> {{record.mobile}}</span> 
    </div> 
</div> 

JS

$scope.isAllRecordSelected = function() { 
    for (var i = 0; i < $scope.users.length; i++) { 
     $scope.users[i].selected = true; 
    } 
} 
$scope.userSelectedToggle = function(index) { 
    if ($scope.users[index].selected) 
     $scope.users[index].selected = false; 
    else 
     $scope.users[index].selected = true; 
} 
$scope.isAllRecordSelected();//initialise all checkbox as checked 
相关问题