我有這樣
HTML代碼角複選框「全選」功能不能正常工作
<div class="check_toggle" ng-click="toggleAll(payout)">
select all
<input type="checkbox" aria-label="Art" ng-model="checkall"/>
</div>
<table>
<thead>
<tr>
<th>Week</th>
<th>Release Payment</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in payout">
<td>{{item.value}}</td>
<td>
<div class="checkbox pay_check">
<input aria-label="Art" type="checkbox" ng-model="allCheckBox[$index]" ng-click="selectItem(item._id,selected,payout)">
</div>
</td>
</tr>
</tbody>
控制器
$scope.payout= [
{'_id':1, value:'Option1'},
{'_id':2, value:'Option2'}
];
$scope.toggleAll = function(payout) {
$scope.checkall = !$scope.checkall;
for(var i=0;i<payout.length;i++){
if($scope.checkall===false){
$rootScope.selected=[];
$scope.allCheckBox[i] = $scope.checkall ;
}else{
$rootScope.selected[i]=payout[i]._id;
$scope.allCheckBox[i] =$scope.checkall ;
}
}
}
$scope.selectItem = function(id, list,payout) {
console.log('id',id);
var idx = list.indexOf(id);
if (idx > -1) {
list.splice(idx, 1);
} else {
list.push(id);
}
if(payout.length==$rootScope.selected.length){
$scope.checkall=true;
console.log($scope.checkall);
// $scope.checkall= $scope.checkall;
console.log('All checkboxes selected');
}
else{
$scope.checkall=false;
console.log('Not All checkboxes selected');
}
}
我必須使用單獨的複選框納克-repeat,並選擇所有複選框。首先當我選擇等所有的個人選擇框,檢查框會自動檢查,如我所料,也檢查所有也選擇所有個別複選框,因爲我的預期,但問題是,如果我先單擊checkall複選框和所有單個項目下,它將無法正常工作如我所料(checkall複選框將不會被選中或取消選中)。
我嘗試了一些堆棧溢出的答案,但它是一樣的。誰能告訴我如何。請
謝謝。我已經嘗試過這種方式,它可以在笨重的環境下工作。但不是在我的代碼。你可以請檢查我的問題有什麼不對 – codelearner