如果选择了一个父级,如何禁用所有父级和子级?

时间:2015-04-14 16:15:22

标签: javascript angularjs kendo-ui

在第一个条件下,我能够除了所选择的当前父母之外的所有父母。

checkbox.js

     if (geoLocation.id === 5657){
                      var getParent = geoLocation.parent();
                      $.each(geoLocation.parent(),function(index,location) {
                        if (location.id !== geoLocation.id) {
                          var disableItemId = 'disabled' + location.id;
                          // Get **strong text**the model
                          var model = $parse(disableItemId);
                          // Assigns a value to it
                          model.assign($scope, true);
                        }
                      }

);

此时我正试图为在上述情况下被禁用的父母驱逐所有孩子。如何通过以下代码实现该任务任何帮助将不胜感激。

到目前为止尝试过代码......

                  $.each(geoLocation.parent().items,function(index,location) {
                    if(location.id !== geoLocation.id){
                    var disableItemId = 'disabled' + location.children.data;
                    // Get the model
                    var model = $parse(disableItemId);
                    // Assigns a value to it
                    model.assign($scope, true);
                    }
                  });


console.log(getParent);
            }

1 个答案:

答案 0 :(得分:0)

如果您计划使用角度,请在模型结构中更好地表达所有这些,并使用ng-click和ng-disabled来实现您的需求。

模板:

<ul>
  <li ng-repeat="item in checkboxes">
    <input type="checkbox" ng-disabled="item.disabled" ng-click="disableOthers(item)"> {{item.name}}
  </li>
</ul>

控制器:

$scope.disableOthers = function (item) {
  // iterate over parents and childs and mark disabled to true
};