使用ztree的朋友们,来看一个模糊查找节点的例子

garfieldzf 2013-07-30 11:09:32
做法如下: 在文本框的onKeyUp事件触发时调用ChangeText(),用文本框值来模糊搜索ztree节点,把不包含
关键字的节点隐藏,如果这时树是平级关系则正常使用,如果包含节点,那么当关键字是二级节点或者三级节点时,它的父节点会隐藏,父节点隐藏后,那么需要显示的子节点也隐藏了,求解?



function ChangeText() {
var nodes = zTree.getNodesByParam("isHidden", true);
zTree.showNodes(nodes);
var nodes = zTree.getNodesByFilter(filter);

for (var i = 0; i < nodes.length; i++) {
zTree.hideNode(nodes[i]);
}

}

function filter(node) {
return (node.name.indexOf($("#SearchText").val().toUpperCase()) == -1);
}
...全文
439 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
newjay 2014-01-06
  • 打赏
  • 举报
回复
$("#treeFriendsSel_friendsName").keyup(function(){ zTree.checkAllNodes(false); var hiddenNodes = zTree.getNodesByParam("isHidden", true); if (hiddenNodes) { zTree.showNodes(hiddenNodes); } var searchForName = $("#treeFriendsSel_friendsName").val(); if (!searchForName || searchForName=="") { return; } var nodes = zTree.getNodesByFilter(function (node) { if (!node.isParent && node.name.indexOf(searchForName)==-1) { return true; } return false; }); zTree.hideNodes(nodes); //hide child node var noChildParentNodes = zTree.getNodesByFilter(function (node) { if (node.isParent && (!node.children || node.children.length==0 || node.children.length==zTree.getNodesByParam("isHidden", true, node).length)) { return true; } return false; }); zTree.hideNodes(noChildParentNodes); //hide no child parent node }); 搜索控件定义为:<input type="text" id="treeFriendsSel_friendsName" />
MrLixinglin 2013-12-03
  • 打赏
  • 举报
回复
我也在搞这个。。。同样的问题!
garfieldzf 2013-09-02
  • 打赏
  • 举报
回复
引用 4 楼 lomo1122 的回复:
LZ您好,你的问题解决了吗,我也遇到同样的问题了。
这是个bug
Mr_weizh 2013-08-05
  • 打赏
  • 举报
回复
LZ您好,你的问题解决了吗,我也遇到同样的问题了。
garfieldzf 2013-07-31
  • 打赏
  • 举报
回复
没人用到ztree吗?
我是地摊小贩 2013-07-30
  • 打赏
  • 举报
回复
hideNode改成hideNodes试试
garfieldzf 2013-07-30
  • 打赏
  • 举报
回复
引用 1 楼 zgxASD 的回复:
hideNode改成hideNodes试试
跟这个某关系,一个是隐藏指定节点,一个是隐藏所有节点。 还是要感谢你的回帖。

87,915

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧