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

时间:2015-10-22 06:50:29

标签: javascript angularjs

我以列表的形式从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模型。但由于数据使用ng-repeat显示在列表中,因此我无法为表中的每一行输入ng-model因此,返回语句不是情感,即使在检查完所有复选框后,提交按钮也没有启用。我不应该使用Jquery.Please帮助

    Output

  • 2 个答案:

    答案 0 :(得分:2)

    我只是直接调整你的a=[1,2,3,4,5,5,5] b = max(a) [x for x, y in enumerate(a) if y == b] 对象,然后将你的对象数组减少到一个布尔值,看看是否都选中了所有的复选框。

    box

    你的支票功能。

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

    答案 1 :(得分:0)

    将此添加到您的btn

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