在angular.js中选择 - 取消选择树结构

时间:2016-03-30 14:20:49

标签: javascript angularjs

我正在尝试实现一个场景,其中我有一个树结构,树的高度将为2.每个元素都有一个复选框,一旦选择了一个节点,它的子节点也应该是选择。我可以使用jquery轻松完成此操作,但我无法在angular.js中执行此操作。这是演示小提琴,当然不起作用。

<div ng-app="sampleapp" ng-controller="samplecontoller">
  <span ng-repeat="set in countrySet">
    <input type="checkbox" ng-model="master" ng-change="isSelectAll()"> 
    <label>{{ set.name }}</label>
    <br>
    <span ng-repeat="label in labelList">
      <input type="checkbox" ng-model="label.selected" ng-change="isLabelChecked()">
      <label>{{ label.name }}</label>
    </span>
  </span>
</div>

http://jsfiddle.net/alok15ee/Cp73s/4447/

1 个答案:

答案 0 :(得分:0)

通过在labelList HTML前面添加set.来执行以下更改:     

然后将$ scope.labelList复制到包含angular.forEachangular.copy JS的每个集合中:

angular.forEach($scope.countrySet, function(set){
     set.labelList =angular.copy($scope.labelList);
}));