Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t在带有角度的复选框上执行selectall_Javascript_Html_Angularjs - Fatal编程技术网

Javascript Can';t在带有角度的复选框上执行selectall

Javascript Can';t在带有角度的复选框上执行selectall,javascript,html,angularjs,Javascript,Html,Angularjs,我似乎不知道如何有另一个复选框,选择所有和取消选择所有框 选择/取消选择全部 {{t} 提交 {{form.selectedTeams}} var myApp=angular.module('myApp',[]); myApp.controller(“tempCtrl”,函数($scope){ $scope.form={ 所选团队:{} }; $scope.parameters={ MyMain选项:{ 团队:[天使队、巨人队、金莺队、蓝鸟队、田径队] } }; $scope.select

我似乎不知道如何有另一个复选框,选择所有和取消选择所有框


选择/取消选择全部
  • {{t}
  • 提交 {{form.selectedTeams}} var myApp=angular.module('myApp',[]); myApp.controller(“tempCtrl”,函数($scope){ $scope.form={ 所选团队:{} }; $scope.parameters={ MyMain选项:{ 团队:[天使队、巨人队、金莺队、蓝鸟队、田径队] } }; $scope.selectAll=function(){ //这就是我被困的地方 } });
    这里是一个简单的全选/取消全选复选框的工作列表:

    控制器

    <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>
    
    查看

    <input type="checkbox" ng-model="selectAllOptions" ng-change="selectAll()" />Select/Deselect All
    <li ng-repeat="t in parameters.myMainOptions.teams">
        <input ng-model="form.selectedTeams[t]" type="checkbox" />{{t}}</li>
    <button class="btn btn-sm" type="submit" ng-click="submit(form)">SUBMIT</button> <pre>
        {{form.selectedTeams}}
    </pre>
    
    全部检查


    复选框

    选中复选框{{$index+1}}!
    您可以对
    $scope.parameters.mymainpoptions.teams
    数组执行
    forEach
    ,然后在循环中设置
    $scope.form.selectedTeams
    值。也可以使用
    ng change
    而不是
    ng click

    标记

    $scope.selectAll = function () {
        angular.forEach($scope.parameters.myMainOptions.teams, function (value, index) {
            $scope.form.selectedTeams[value] = $scope.selectAllOptions; //setting selectAll variable value
        })
    }
    

    首先,您应该为团队创建一个这样的对象数组

    控制器:

       $scope.selectAll = function () {
            angular.forEach($scope.parameters.myMainOptions.teams, function (team) {
               team.selected = $scope.selectAllOptions;
            });
          };
    
    这是一种更好的方法,因为现在,您可以向每个团队对象添加选定的属性

    然后,应将每个团队的ng模型复选框设置为类似于团队的内容。选择如下:

    查看:

       $scope.selectAll = function () {
            angular.forEach($scope.parameters.myMainOptions.teams, function (team) {
               team.selected = $scope.selectAllOptions;
            });
          };
    

    @金刚龙它对你有帮助吗?
       $scope.parameters = {
            myMainOptions: {
              teams: [{name: 'angels'}, {name: 'giants'}, {name: 'orioles'}, {name:'bluejays'}, {name: 'athletics'}]  
            }
        };
    
    <li ng-repeat="team in parameters.myMainOptions.teams">
            <input ng-model="team.selected" type="checkbox" />
            {{team}}
    </li>
    
       $scope.selectAll = function () {
            angular.forEach($scope.parameters.myMainOptions.teams, function (team) {
               team.selected = $scope.selectAllOptions;
            });
          };