getNodesByParamFuzzy和getNodesByParam
ztree吧
全部回复
仅看楼主
level 5
使用getNodesByParamFuzzy模糊搜索,我指定父节点下其结果是有重复的项的 ,而getNodesByParam 的话,只能搜索其第一个子节点及子节点下的节点 ,其后的节点均无反应。
我想在得到任意父节点下的子节点集,不知道用什么办法得到的比较精准 。在此不胜感激 !
2012年02月15日 13点02分 1
level 5
getNodesByParamFuzzy模糊搜索 比如说子节点只有5个而得到的结果有7个
2012年02月15日 13点02分 2
level 5
2012年02月15日 13点02分 3
level 5
2012年02月15日 13点02分 4
level 11
我用 Demo 测试了一下,没觉得有什么问题,不知道使用这两个方法时,参数都是如何设置的? 还有你的节点数据是什么样的?
2012年02月15日 13点02分 5
level 5
function zTreeOnClick(event, treeId, treeNode) {
var dept_str=treeNode.id;
var treeObj = $.fn.zTree.getZTreeObj(treeId);
var node = treeObj.getNodesByParamFuzzy("tt", "qq", treeNode);
var nodes = treeObj.transformToArray(node);
for(var i=0;i<nodes.length;i++)
{
dept_str+="-"+nodes[i].id;
}
alert(dept_str);
};
2012年02月15日 13点02分 6
level 5
这个是我的源代码 和配置
view: {
showIcon: showIconForTree,
//showLine: false,
selectedMulti: false
},
async: {
enable: true,
url:"API/get_departs.php"
},
data: {
simpleData: {
enable: true
}
},
callback: {
beforeAsync: beforeAsync,
onClick: zTreeOnClick
}
2012年02月15日 13点02分 7
level 5
请问是不是配置问题
2012年02月15日 13点02分 8
level 5
[{"id":"1","name":"中国","pId":"0","open":"true","tt":"qq"},{"id":"58","name":"研发部","pId":"1","open":"true","tt":"qq"},{"id":"79","name":"新部门","pId":"58","open":"true","tt":"qq"},{"id":"72","name":"生产部","pId":"1","open":"true","tt":"qq"},{"id":"80","name":"新部门","pId":"58","open":"true","tt":"qq"}]
2012年02月15日 13点02分 9
level 11
找到原因了:
1、用了 getNodesByParam 或 getNodesByFuzzy 之后就不要再用 transformToArray 方法了。
因为这两个方法得到的 Array就是全部符合结果的节点 Array; 但因为每个节点的children属性没有被破坏,所以从数据结构上来说,得到的父节点其children属性还关联着全部子节点信息。
2、如果你用的是 getNodes 方法 得到全部节点需要遍历可以利用 transformToArray 方法
所以把你 zTreeOnClick 里面
var node = treeObj.getNodesByParamFuzzy("tt", "qq", treeNode);
var nodes = treeObj.transformToArray(node);
修改为
var nodes = treeObj.getNodesByParamFuzzy("tt", "qq", treeNode);
就可以啦,另外我试了 getNodesByParam 方法,也能得到正确结果的呀。

2012年02月16日 02点02分 10
为什么我使用getNodesByParamFuzzy设置第三个参数是选中的节点,结果都是空的,也不是null
2017年02月27日 10点02分
level 5
原来已经是数组了 ,我还以为跟原来的getNodes 一样,我按照你说的试了一下,结果就对了,实在是太感谢了 !
2012年02月16日 03点02分 11
level 5
[乖]
2013年10月17日 00点10分 12
1