Javascript AngularJS:在多个复选框后启用按钮;勾选“;

Javascript AngularJS:在多个复选框后启用按钮;勾选“;,javascript,angularjs,validation,checkbox,Javascript,Angularjs,Validation,Checkbox,假设我有两个问题,每个问题都有各自的复选框和一个“Next->”按钮。一旦每个问题至少有一个复选框,我想启用“下一步”按钮。我把所有东西都包在一张表格里。像这样的 <form name="form_" novalidate> <div="cont_1" > <label> <input type="checkbox" ng-model="data1.enabled" ng-required="!data1.enabled">

假设我有两个问题,每个问题都有各自的复选框和一个“Next->”按钮。一旦每个问题至少有一个复选框,我想启用“下一步”按钮。我把所有东西都包在一张表格里。像这样的

<form name="form_" novalidate>
 <div="cont_1" >
     <label>
      <input type="checkbox" ng-model="data1.enabled" ng-required="!data1.enabled">
     </label>
      .
      . 
  </div>
  <div="cont_2" >
     <label>
       <input type="checkbox" ng-model="data5.enabled" ng-required="!data5.enabled">
     </label>
       .
       .
  </div>
  <button ng-disabled="form_.$invalid">
  </form>

.
. 
.
.
问题是,我必须选择所有复选框来启用按钮,我不希望这样,我希望每个问题中至少有一个复选框来启用按钮,它可以是1&1、2&3等等。。但并非所有这些都是强制性的。我以前使用过radiobutton所需的ng,它确实有效。但复选框不一样。看起来$invalid正在检查它们是否都符合要求,但这不是我想要的


提前感谢

复选框不应使用ng required,因为复选框的
required
意味着必须选择它才能有效。因此,如果表单中有一些复选框是
必需的
,则必须选中该复选框才能使表单有效

单选按钮的工作原理不同<单选按钮上的“代码>必需”强制选择至少一个值

检查这个

您应该为每个问题维护一个标志,该标志可以在为该问题选择答案时设置,如果为所有问题设置了这些标志,则启用按钮。
ng required
不是解决这个问题的方法。

我同意Nils-你希望从
ng required
中得到一些本来不应该得到的东西

您需要:

  • 在一些QuestionService中实现逻辑,确定有多少 检查答案构成已回答的问题,并驱动您的 从逻辑上看,或者
  • 创建一个指令,用于监视其子项中的复选框
  • 对于方法(1),我创建了一个plunker: