удалить все дочерние элементы из диаграммы Google org - PullRequest
3 голосов
/ 23 июля 2011

Я использую организационную диаграмму Google, чтобы построить диаграмму, подобную приложенному скриншоту.enter image description here

существует метод с именем removeRow (nodeIndex), который используется для удаления узла из диаграммы, но проблема в том, что этот метод удаляет только узел, не удаляя дочерние элементы узла.Так, например, когда пользователь выбирает 3 и нажимает удалить, я хочу создать функцию, которая удаляет (3,7,8,9,10), а не только 3.я пытаюсь создать эту функцию, и это мой код:

 <script type='text/javascript'>var counter;  var childs1= new Array();</script>
<script>
 $('#remove').click(function(){

          // this method return all childs indexes for the selected node(7,10)   
         childs1=chart.getChildrenIndexes(selected_node);
         counter=childs1.length;
         for(var i=0;i< counter;i++)
             {

                 getChilds(childs1[i]);
             }
            for(var i=0;i< childs1.length;i++)
             {
              data.removeRow(childs1[i]);
             }

       })
      }

      function getChilds(child)
      {
          var childs2=new Array();
          childs2=chart.getChildrenIndexes(child);
          childs1.concat(childs2);
          counter+=childs2.length;
      }

но ничего не произошло.Мой вопрос: как я могу создать функцию, которая возвращает массив всех выбранных дочерних узлов и детей каждого дочернего элемента (в этом примере возвращаемый массив: (3,7,8,9,10))?Спасибо

1 Ответ

0 голосов
/ 24 июля 2011

Проблема в коде состоит в том, что я забываю ссылаться на childs1 после concat:

childs1=childs1.concat(childs2); 
...