今天使用ztree时候,发现单独给已经选中的叶子节点设置 open=true,其上级的父节点并不会展开,如图,有三个选中的叶子节点,但是大概因为父节点没有设置 open=true,所以没有展开。
然后参考百度找到的方案以及查看ztree文档,找到了一种解决方式,下面是源码:
var dataTree = $.fn.zTree.init($("#dataTree"), setting, zTreeNodes);
//展开所有选中的子节点
var nodes = dataTree.getCheckedNodes(true);
for(var i=0; i<nodes.length; i++){
dataTree.expandNode(nodes[i], true, true, true);
dataTree.selectNode(nodes[i]);
}
最后结果如下:
参考:
1、ztree 根据子节点ID展开所有父节点
2、ztree官方文档