小弟初学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
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
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货