Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在angular.js中选择“取消选择树结构”_Javascript_Angularjs - Fatal编程技术网

Javascript 在angular.js中选择“取消选择树结构”

Javascript 在angular.js中选择“取消选择树结构”,javascript,angularjs,Javascript,Angularjs,我正在尝试实现一个场景,其中我有一个树结构,树的高度为2。每个元素都有一个复选框,一旦选择了一个节点,它的子节点也应该被选中。我可以很容易地用jquery实现这一点,但在angular.js中无法实现。这里是演示小提琴,当然是不工作 <div ng-app="sampleapp" ng-controller="samplecontoller"> <span ng-repeat="set in countrySet"> <input type="check

我正在尝试实现一个场景,其中我有一个树结构,树的高度为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>

{{set.name}

{{label.name}

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

然后使用
angular.forEach
angular.copy
JS将$scope.labelList复制到每个集合中:

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