Javascript 如何在angularjs中使用主复选框选择所有复选框

Javascript 如何在angularjs中使用主复选框选择所有复选框,javascript,angularjs,checkbox,Javascript,Angularjs,Checkbox,我有一个顶部主选择框,它(取消)激活主1和主2复选框。主控制器1和2 can(取消)激活每个4个从控制器复选框。我在这里使用ng模型和ng检查 e、 g Master 1 我的问题: 当选择TOP Master时,为什么Master 1和TOP Master的从机是 未选择Master 2,尽管其ng型号(Master 1和Master 2 2) 你被选中了吗?当我选择Master 1或Master 2时,它们的从属 将被选中 如果选择了4个从属设备,则还应选择它们的主设备。选择两个主控形状时

我有一个顶部主选择框,它(取消)激活主1和主2复选框。主控制器1和2 can(取消)激活每个4个从控制器复选框。我在这里使用ng模型和ng检查

e、 g

Master 1
我的问题:

  • 当选择TOP Master时,为什么Master 1和TOP Master的从机是 未选择Master 2,尽管其ng型号(Master 1和Master 2 2) 你被选中了吗?当我选择Master 1或Master 2时,它们的从属 将被选中
  • 如果选择了4个从属设备,则还应选择它们的主设备。选择两个主控形状时,应选择顶部主控形状。我怎样才能实现它?用哪个控制器

  • 请在小提琴上检查我的代码

    您需要将ng checked=“master1”更改为ng checked=“(master1|top)&&master1”

    
    顶尖高手
    主控1
    
      {{slave.name}
    主控2
      {{slave.name}

    是的,首先它会工作。但按如下操作:选择从1.1,然后选择主1,然后您将看到,当您使用TOP Master时,您不能取消选择从1.1。
    <input type="checkbox" ng-checked="top" ng-model="master1"/> Master 1  
    
    <div ng-controller="myCtrl">
        <input type="checkbox" ng-model="top"/> Top Master
       <ul> <input type="checkbox" ng-checked="top" ng-model="master1"/> Master 1  
            <ul ng-repeat="slave in slaveOne"> 
                  <input id="checkSlave" type="checkbox" ng-checked="(master1||top)&&master1"/>{{slave.name}} 
            </ul>
        </ul>
    
      <ul>  <input type="checkbox" ng-checked="top" ng-model="master2"/> Master 2  
            <ul ng-repeat="slave in slaveTwo"> 
                <input id="checkSlave" type="checkbox" ng-checked="(master2||top)&&master2"/> {{slave.name}}
          </ul> 
      </ul>