求教,Tree 模糊查询定位
easyui吧
全部回复
仅看楼主
level 1
z10060009 楼主
今天学习tree,对节点进行查询,写了个js,但是只能定位到第一个含有关键词的节点,我想要的效果是点击查询按钮,相当于Ctrl + F 的下一个那样的功能,或者是其他实现,可以找到所有含有关键词的节点
2016年01月07日 13点01分 1
level 1
z10060009 楼主
//根据节点搜索定位
function quickposition(value) {
var search_content = $('#treess').textbox('getText'); //得到搜索的文件
var roots=$('#DataSource_Tree').tree('getRoots'); //得到tree顶级node
searchTree(roots, search_content);
function searchTree(parentNode,searchCon){
var children;
for(var i=0;i<parentNode.length;i++){ //循环顶级 node
children = $('#DataSource_Tree').tree('getChildren',parentNode[i].target);//获取顶级node下所有子节点
if(children){ //如果有子节点
for(var j=0;j<children.length;j++){ //循环所有子节点
if($('#DataSource_Tree').tree('isLeaf',children[j].target)){ //判断子级是否为叶子节点,即不是父节点
if(children[j].text.indexOf(searchCon)>=0){ //判断节点text是否包含搜索文本
selectNode(children[j]); //设置此节点为选择状态
expandParent(children[j]); //设置此节点所有父级展开
break;
}
}
}
}else{
if(parentNode[i].text.indexOf(searchCon)>=0){
selectNode(parentNode[i]);
expandParent(parentNode[i]);
break;
}
}
}
};
function selectNode(node){
$('#DataSource_Tree').tree('select',node.target);
};
function expandParent(node){
var parent = node;
var t = true;
do {
parent = $('#DataSource_Tree').tree('getParent',parent.target); //获取此节点父节点
if(parent){ //如果存在
t=true;
$('#DataSource_Tree').tree('expand',parent.target);
}else{
t=false;
}
}while (t);
};
}
2016年01月08日 00点01分 2
level 1
楼主,你这能够实现定位吗?
我拉取过来用不了
2018年05月29日 05点05分 3
1