+ -
当前位置:首页 → 问答吧 → Extjs中TreePanel遍历获取所有值

Extjs中TreePanel遍历获取所有值

时间:2010-09-29

来源:互联网

//获取TreePanel中所有的树节点,value为TreePanel的名称
  var nodevalue="";//定义一个全局变量,保存节点的id或值
  function getAllRoot(value){
  var rootNode=value.getRootNode();//获取根节点
  //nodevalue+=rootNode.id;//获取跟节点的值
  findchildnode(rootNode); //开始递归
  nodevalue= nodevalue.substr(0, nodevalue.length - 1);
  //alert(nodevalue);
  return nodevalue;
  }
  //获取所有的子节点  
  function findchildnode(node){
  var childnodes = node.childNodes;
  var nd;
  for(var i=0;i<childnodes.length;i++){ //从节点中取出子节点依次遍历
  nd = childnodes[i];
  nodevalue += nd.id + ",";
  if(nd.hasChildNodes()){ //判断子节点下是否存在子节点
  findchildnode(nd); //如果存在子节点 递归
  }  
  }
  }

作者: caozhengyan   发布时间: 2010-09-29

JScript code
var nodevalue = "";//定义一个全局变量,保存节点的id或值
function getAllRoot(value){
    var rootNode = value.getRootNode();//获取根节点
    findchildnode(rootNode); //开始递归
    nodevalue= temp.join(",");
    //alert(nodevalue);
    return nodevalue;
}
var temp = [];
//获取所有的子节点  
function findchildnode(node){
    var childnodes = node.childNodes;
    Ext.each(childnodes, function (){ //从节点中取出子节点依次遍历
        var nd = this;
        temp.push(nd.id);
        if(nd.hasChildNodes()){ //判断子节点下是否存在子节点
            findchildnode(nd); //如果存在子节点 递归
        }  
    });
}

作者: IBM_hoojo   发布时间: 2010-09-29

楼上正解哦!

作者: wangguojunmy   发布时间: 2010-09-29