递归获取树状图的某个节点ID和这个节点的所有后代节点的ID
1、 在上面的这个页面可以知道我们如果通过供应商分类去查询数据,那么就得获取节点ID作为条件去查询数据,然而这个不同于一般的数据查询,在多级分类里我们需要在获取一级数据的时候也要把他的后代节点,二级分类、三级分类等等的节点ID都要获取到。
2、 那么我们该如何去获取它的所有后代元素,由于是多级分类,所有我考虑的是用递归的方式去获取,并把所有的ID都拼接起来
3、首先我在树状图获取当前的节点处调用了封装好的方法, findAllNodes(nodes[0]);,nodes[0]就是当前点击的节点,nodeId是声明的全局变量,用于保存拼接起来的节点ID,每次进来都要先把上一次残留的数据清空。
/递归回取当前节点已及它的所有后代节点的ID的封装方法
function findAllNodes(nodeObj) {
var nodeArr = nodeObj.children; //没有子节点==undefined,获取当前节点的所有子元素
//判断nodeId是否为空,如果为空声明是第一次进来,此时把当前点击的节点的ID赋给nodeId
if (nodeId == “”) {
nodeId =