如果选中了所有复选框,则启用提交按钮

Enable Submit Button If All Checkboxes Are Checked

本文关键字:启用 提交 按钮 复选框 如果      更新时间:2023-09-26

我以列表的形式从Json表中获取数据。只有当所有的复选框都被选中时,提交按钮才应该被启用。这是我的代码。Html:

 <ol>
 <li  ng-repeat='box in Box.json'  id='box' >
 <input type="checkbox"  value='{{box.id}}'>{{box.name}}</li>
 </ol>

//Javascript:

 $scope.check=function(){
     return ($scope.check1 && $scope.check2 && $scope.check3)   
  }

以上范围变量为各

  • 的ng-model。但是由于数据是使用ng-repeat在列表中显示的,所以我不能为表中的每一行都设置ng-model。因此,返回语句是无效的,即使在检查了所有复选框之后,提交按钮仍未启用。我不应该使用Jquery。请帮助输出

  • 我将直接调整您的box对象,然后将您的对象数组减少为布尔值,以查看是否所有复选框都被选中。

     <ol>
       <li  ng-repeat='box in Box.json'  id='box'>
         <input type="checkbox" ng-model="box.checked"> {{box.name}}
       </li>
     </ol>
    

    和你的检查功能。

    $scope.check=function(){
      return $scope.Box.json.reduce(function(prev,value){
        if(!prev) return false;
        return value.checked && true || false;
      },true);
    }
    

    将此添加到您的BTN

    ng-disabled="!check"