当前位置:编程学习 > JAVA >>

zTree牛人请进指导个问题,谢谢了!

在jsp页面

定义treeNodes

 由zTree = $("#tree").zTree(setting, treeNodes); 展现

关键点 treeNodes 在jsp页面 直接初始化, 这个页面的tree能显示出来。
但是 treeNodes 由$.ajax({  )}经过后台数据已json格式返回,却无法显示这个tree来。

请高手告知是什么原因。谢谢了。 困扰半天了。

1、返回的后台数据经过alert后,把alert的值经过拷贝,复制给treeNodes,相当于上面说的直接初始化,又是能展现的,所以json的值是返回正确的。    但是不经初始化就不行,在线等 谢谢! 

JSON JSP --------------------编程问答-------------------- $.ajax({  )} 你这个ajax是异步还是同步的,如果是异步的话,还没有返回json数据,那么treeNodes就已经初始化了,当然不能显示。  --------------------编程问答-------------------- 楼上正解,如果你确定你返回的json数据是有值的话,那么你最可能出现的原因如楼上所说 --------------------编程问答-------------------- 如果是点击一个展开,异步加载一次的话这样配
 pSetting = {
checkable: true,
async: true,
 checkType : { "Y": "p", "N": "" },
asyncUrl: "${path}/xx.do",  //获取节点数据的URL地址
asyncParam: ["id","table"],  //获取节点数据时,必须的数据名称,例如:id、name
// asyncParamOther: ["test","true"], //其它参数 ( key, value 键值对格式)
        isSimpleData : true, //数据是否采用简单 Array 格式,默认false   
        treeNodeKey : "id", //在isSimpleData格式下,当前节点id属性   
        treeNodeParentKey : "pid", //在isSimpleData格式下,当前节点的父节点id属性   
        nameCol : colName,            //在isSimpleData格式下,当前节点名称   
    expandSpeed : "fast", //设置 zTree节点展开、折叠时的动画速度或取消动画(三种默认定义:"slow", "normal", "fast")或 表示动画时长的毫秒数值(如:1000)    
    showLine : true, //是否显示节点间的连线   
    showIcon : false,//不显示图标
    callback : { //回调函数  
       
       }  
};

如果是通过ajax一次加载出来,就把树的初始化写到
ajax的success:function(data){
  //这里
} --------------------编程问答-------------------- 要写在success的回调里面。 
还有这个应该发在WEB开发那里吧。 这个是JS的。 --------------------编程问答--------------------
引用 1 楼 T729975501 的回复:
$.ajax({  )} 你这个ajax是异步还是同步的,如果是异步的话,还没有返回json数据,那么treeNodes就已经初始化了,当然不能显示。 
+1
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,