小弟初学JS,要改前辈的一段代码 遇到点问题 求各位大哥指点下function tmlLocation(flag){
var queryObj = new Object();
queryObj.manageCd=$("code").value;
if(flag==1){  //下一个
locationIndex++;
queryObj.startIndex=locationIndex;
queryObj.endIndex=locationIndex+1;
}else if(flag==2){  //上一个
locationIndex--;
queryObj.startIndex=locationIndex;
queryObj.endIndex=locationIndex+1;
}else if(flag==0){  //定位
locationIndex=10;  
queryObj.startIndex=locationIndex-9;
queryObj.endIndex=locationIndex+1;
}
//queryObj.startIndex=locationIndex;
//queryObj.endIndex=locationIndex+1;
queryObj.areaId=pv_UserAreaID;
queryObj.tmlCateCd = tmlCateId;
queryObj.tmlGroupId=$("qry_tmlgroup_sel").value.split("#_#")[1];
TmlManageBMO.getTmlIdsSupersByCode(queryObj,function(rs){
if(rs!=null&&rs.length>0){

var tree = document.all.areaTree;
// alert(DWRUtil.toDescriptiveString(rs,3,3));
var sn=null;
for(var i=0;i<tree.items.length;i++){
var flag=false;  //匹配节点成功标志
for(var j=0;j<rs.length;j++){
if(tree.items[i].tmlId==rs[j].tmlId){
//alert(tree.items[i].tmlId)
sn=tree.items[i];
flag=true;
break;
}
}
if(flag==true){
break;
} } if(sn!=null){           //展开
for(var i=1;i<rs.length;i++){
sn=expandNode(sn,rs[i]);  
}
 }

// else{
//
//
// var treeDat = makeTree(rs);
// alert(treeDat[0].children[0].tmlId);
// tree.loadByData(treeDat);
// }
}else{
alert("没有找到局向,请从新搜索!");
if(flag==1){  //下一个
locationIndex--;
}else if(flag==2){  //上一个
locationIndex++;
}else if(flag==0){
locationIndex=1;
}
return;
}
loadNodeDetail();
});
}
是这样的,定义了一个TREE,以前的功能是根据输入的条件来定位并展开多级节点,但是一次只展示一条,通过点击上一个 下一个按钮,来定位后面的节点。。
现在要改一改这个功能 改成通过输入条件模糊查询匹配节点 一次需要最多查询展开10个节点
现在问题就出在这里了。。
locationIndex=10;  
queryObj.startIndex=locationIndex-9;
queryObj.endIndex=locationIndex+1;
这是我改的,一次返回最多了10条记录。。
但是这样改过之后。。发现查询出所有的节点。。都是依次展开,而且不是按照以前的结构来展开
比如说以前 模糊查询  京%  
点定位就是
亚洲
-中国
 -江苏  
  -南京市
点下一个就是
亚洲
-中国
 -北京  
  -北京市
但是现在我改过之后 展示多条的话 就变成。。
亚洲
-中国
 -中国
  -北京
   -江苏  
    -南京市 
     -北京市求各位大哥指点下 。。这里应该这么改。。才能让匹配到的节点还是按照原来的结构展示 如亚洲
-中国
 -北京
   -北京市
 -江苏  
   -南京市 
     functionjava tree