首页 > 代码库 > js ajax生成树的思路

js ajax生成树的思路

最近在研究tree grid ,对tree有些了解,所以写了一些想法。

首先ajax请求加载,这个时候只取出第一层root层的数据,js根据规则渲染生成dom,输出。这样在特定的表格或者div中出现了树的结构,而且每层树的前面要有打开或者关闭的图片,这个在生成的时候已经判断完,如果是新ajax请求,这时候应该是关闭的,等待用户去点击。

当用户点击这个打开/关闭的图片的时候,触发事件。此时需要首先判断打开还是关闭。如果是打开则执行关闭,关闭依据:将此行的id和下一行到最后的id进行比较 indexOf()方法 返回值 0 , -1,如果存在相等的字符串,证明是子集,然后执行关闭,将display设置为none;如果是关闭则执行打开,

打开依据:首先判断下一行为不为空 nextnode !=null(此时说明下一行有数据) or nextnode==null (此时说明下一行没有数据,也就是表格的最后一行)

if(nextnode !=null){//下一行有数据

  //不需要执行ajax,直接将dom遍历(在id中存在一样的情况下,也就是当前的子集) 展开

}else{//下一行没有数据 最后一行

 if(indexOf==0){

  //下一行是否相等 之前取出过之后关闭的子集

  //不需要ajax请求

 }else{

  //此时下一行元素不是当前行的子集 

  //ajax请求

 }

}

js ajax生成树的思路