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>