Javascript 为什么“checkall”复选框不标记/取消标记其他复选框
为什么复选框Javascript 为什么“checkall”复选框不标记/取消标记其他复选框,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,为什么复选框checkall没有标记/取消标记其他复选框 app.controller('ContactMessagesController',['$scope',function$scope){ $scope.MarkCheckBox=函数(){ $('#usersTable').find('.checkBoxJs1:input[type=checkbox]).prop('checked',this.checked); } }]); 您应该尽量不要使用JQuery执行类似这样的函数来修改D
checkall
没有标记/取消标记其他复选框
app.controller('ContactMessagesController',['$scope',function$scope){
$scope.MarkCheckBox=函数(){
$('#usersTable').find('.checkBoxJs1:input[type=checkbox]).prop('checked',this.checked);
}
}]);
您应该尽量不要使用JQuery执行类似这样的函数来修改DOM;相反,你应该试着用Angular完成尽可能多的工作
下面是一个示例,说明了如何使用Angular完成此任务:
控制器
$scope.checkAll = function () {
angular.forEach($scope.checkboxes, function (obj) {
obj.selected = $scope.selectAll;
});
};
查看
<p>Check all</p>
<input type="checkbox" ng-model="selectAll" ng-click="checkAll()" />
<br />
<p>Checkboxes</p>
<div ng-repeat="checkbox in checkboxes track by $index">
<input type="checkbox" ng-model="checkbox.selected" />
<label ng-show="checkbox.selected">Checkbox {{ $index+1 }} selected!</label>
</div>
全部检查
复选框
选中复选框{{$index+1}}!
尝试使用
ng型号
和ng已选中
指令
<div ng-app="" ng-controller="ContactMessagesController">
<input id="checkall" ng-model="active" class="mangerTdLabel" type="checkbox" />
<table id="usersTable" >
<tr>
<td>
<input type="checkbox" ng-checked="active" class="checkBoxJs1" />
<input type="checkbox" ng-checked="active" class="checkBoxJs1" />
<input type="checkbox" ng-checked="active" class="checkBoxJs1" />
</td>
</tr>
</table>
</div>
检查控制台是否有错误。应用程序未在您的案例中定义。
<div ng-app="" ng-controller="ContactMessagesController">
<input id="checkall" ng-model="active" class="mangerTdLabel" type="checkbox" />
<table id="usersTable" >
<tr>
<td>
<input type="checkbox" ng-checked="active" class="checkBoxJs1" />
<input type="checkbox" ng-checked="active" class="checkBoxJs1" />
<input type="checkbox" ng-checked="active" class="checkBoxJs1" />
</td>
</tr>
</table>
</div>