我这里要用ext实现一个tree目录,显示是接收后台传过来的一串json格式,格式如下:
  [{"id":"1","text":"父节点1","link":"","children":[{"id":"11","text":"儿子节点1","link":"","children":[{"id":"111","text":"孙子节点1","link":"","children":[]}]}]},
 {"id":"2","text":"父节点2","link":"","children":[]},
 {"id":"3","text":"父节点3","link":"","children":[]}],一个父节点下可能有好几层子节点,
 我现在想做一个查询功能,比如输入孙子节点,就会将孙子节点和该孙子节点所在的上级节点查询出来,并将查询后的结果以json格式返回,这样便于将查询结果生成新的目录,这里需要用到递归,并在递归的过程中做匹配,我现在的写法如下面,这个写法显然有问题,做多只能匹配到儿子节点,希望高手给予指点,谢谢!
    function parseJson(strJson,param){
         var result=[];
         for(var i=0;i<strJson.length;i++){
            var st=strJson[i];
             if(st.text.indexOf(param)>=0){
               result.push(st);
             }
             else{
                 var flag="0";
                 var cts=st.children;
                 for(var j=0;j<cts.length;j++){
                    var ct=cts[j];
                    if(ct.text.indexOf(param)>=0){
                      flag="1";
                     
                    }else{
                        
                    }
                 }
                 if(flag=="1"){
                     result.push(st);
                 }
             }
             parseJson(st,param);
         }
        return result;
   }