我正在使用Google组织结构图来构建类似于所附屏幕截图的图表。

有一个称为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;
      }

但是什么也没发生。
我的问题是:如何创建一个返回所有选定节点子节点的数组以及每个子节点的 child 的函数(在此示例中,返回的数组:(3,7,8,9,10))?
谢谢

最佳答案

代码中的问题是,我在concat之后忘了引用childs1:

childs1=childs1.concat(childs2);

09-25 21:12