我正在使用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);