如何选择angularjs中带有Master复选框的所有复选框

时间:2014-03-15 22:51:18

标签: javascript angularjs checkbox

我有1个Top Master选择框,其中(de)激活Master 1和Master 2复选框。 Master 1和2可以(de)激活每个4 Slave复选框。我在这里使用ng-model和ng-checked。

e.g。

<input type="checkbox" ng-checked="top" ng-model="master1"/> Master 1  

我的问题:

  1. 当选择TOP Master时,为什么Master 1和 硕士2没有被选中,虽然他们的ng模型(硕士1和硕士 2)被选中?当我选择Master 1或Master 2时,他们的奴隶 将被选中。
  2. 如果选择了4个从站,则还应选择它们的主站。选择两个Masters后,应选择TOP Master。我怎么才能意识到这一点?用哪个控制器?
  3. 请在小提琴http://jsfiddle.net/aF2aL/32/

    上查看我的代码

1 个答案:

答案 0 :(得分:-1)

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

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