我一直在研究这个问题,但找不到一个很好的理由说明为什么这不起作用。我试图在div的表头中设置一个全选复选框。我目前的解决方案适用于除Firefox以外的所有浏它在第一次点击时会起作用,并且在再次点击时会起作用,但不会再次起作用。我的控制台将显示该值两次,然后它没有注册。 这是我的代码: HTML
<div class="table-responsive" ng-controller="ReportsController">
<table cellspacing="0" cellpadding="0" border="0" class="myreport table table-striped sortable" style="border-collapse:collapse;">
<thead>
<tr >
<th class="myreport_header" ><p class="titleheader">
<input type="checkbox" ng-click="toggleAll()" ng-model="isAllSelected" > Select</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" ng-checked="isAllSelected" ></td>
<td>sample</td>
<td>New</td>
</tr>
<tr>
<td><input type="checkbox" ng-checked="isAllSelected" ></td>
<td>sample2</td>
<td>old</td>
</tr>
</tbody>
</table>
</div>
控制器
reportsApp.controller('ReportsController', function ($scope, $http,$filter, $q, $window) {
$scope.isAllSelected = false;
console.log($scope.isAllSelected)
$scope.toggleAll = function() {
if ($scope.isAllSelected) {
$scope.isAllSelected = true;
} else {
$scope.isAllSelected = false;
}
};
});
答案 0 :(得分:0)
我在firefox中看到了一些奇怪的$ event相关问题。要排除它们,您可以将复选框更改为按钮,看看您是否仍然可以复制该问题。我的猜测是,事件只是在设置了一个复选框后停止触发但是没有按钮。