zTree的搜索
来源:互联网 发布:坐车软件哪个好 编辑:程序博客网 时间:2024/06/07 06:40
使用zTree进行目录搜索
百度时候找到了这一篇,膜拜
http://www.oschina.net/code/snippet_565465_33862
留个纪念
很有帮助
/** * 展开树 * @param treeId */ function expand_ztree(treeId){ var treeObj = $.fn.zTree.getZTreeObj(treeId); treeObj.expandAll(true); } /** * 收起树:只展开根节点下的一级节点 * @param treeId */ function close_ztree(treeId){ var treeObj = $.fn.zTree.getZTreeObj(treeId); var nodes = treeObj.transformToArray(treeObj.getNodes()); var nodeLength = nodes.length; for (var i = 0; i < nodeLength; i++) { if (nodes[i].id == '0') { //根节点:展开 treeObj.expandNode(nodes[i], true, true, false); } else { //非根节点:收起 treeObj.expandNode(nodes[i], false, true, false); } } } /** * 搜索树,高亮显示并展示【模糊匹配搜索条件的节点s】 * @param treeId * @param searchConditionId 文本框的id */ function search_ztree(treeId, searchConditionId){ searchByFlag_ztree(treeId, searchConditionId, ""); } /** * 搜索树,高亮显示并展示【模糊匹配搜索条件的节点s】 * @param treeId * @param searchConditionId 搜索条件Id * @param flag 需要高亮显示的节点标识 */ function searchByFlag_ztree(treeId, searchConditionId, flag){ //<1>.搜索条件 var searchCondition = $('#' + searchConditionId).val(); //<2>.得到模糊匹配搜索条件的节点数组集合 var highlightNodes = new Array(); if (searchCondition != "") { var treeObj = $.fn.zTree.getZTreeObj(treeId); highlightNodes = treeObj.getNodesByParamFuzzy("name", searchCondition, null); } //<3>.高亮显示并展示【指定节点s】 highlightAndExpand_ztree(treeId, highlightNodes, flag); } /** * 高亮显示并展示【指定节点s】 * @param treeId * @param highlightNodes 需要高亮显示的节点数组 * @param flag 需要高亮显示的节点标识 */ function highlightAndExpand_ztree(treeId, highlightNodes, flag){ var treeObj = $.fn.zTree.getZTreeObj(treeId); //<1>. 先把全部节点更新为普通样式 var treeNodes = treeObj.transformToArray(treeObj.getNodes()); for (var i = 0; i < treeNodes.length; i++) { treeNodes[i].highlight = false; treeObj.updateNode(treeNodes[i]); } //<2>.收起树, 只展开根节点下的一级节点 close_ztree(treeId); //<3>.把指定节点的样式更新为高亮显示,并展开 if (highlightNodes != null) { for (var i = 0; i < highlightNodes.length; i++) { if (flag != null && flag != "") { if (highlightNodes[i].flag == flag) { //高亮显示节点,并展开 highlightNodes[i].highlight = true; treeObj.updateNode(highlightNodes[i]); //高亮显示节点的父节点的父节点....直到根节点,并展示 var parentNode = highlightNodes[i].getParentNode(); var parentNodes = getParentNodes_ztree(treeId, parentNode); treeObj.expandNode(parentNodes, true, false, true); treeObj.expandNode(parentNode, true, false, true); } } else { //高亮显示节点,并展开 highlightNodes[i].highlight = true; treeObj.updateNode(highlightNodes[i]); //高亮显示节点的父节点的父节点....直到根节点,并展示 var parentNode = highlightNodes[i].getParentNode(); var parentNodes = getParentNodes_ztree(treeId, parentNode); treeObj.expandNode(parentNodes, true, false, true); treeObj.expandNode(parentNode, true, false, true); } } } } /** * 递归得到指定节点的父节点的父节点....直到根节点 */ function getParentNodes_ztree(treeId, node){ if (node != null) { var treeObj = $.fn.zTree.getZTreeObj(treeId); var parentNode = node.getParentNode(); return getParentNodes_ztree(treeId, parentNode); } else { return node; } } /** * 设置树节点字体样式 */ function setFontCss_ztree(treeId, treeNode) { if (treeNode.id == 0) { //根节点 return {color:"#333", "font-weight":"bold"}; } else if (treeNode.isParent == false){ //叶子节点 return (!!treeNode.highlight) ? {color:"#ff0000", "font-weight":"bold"} : {color:"#660099", "font-weight":"normal"}; } else { //父节点 return (!!treeNode.highlight) ? {color:"#ff0000", "font-weight":"bold"} : {color:"#333", "font-weight":"normal"}; } }
阅读全文
0 0
- zTree的模糊搜索
- zTree的模糊搜索
- zTree的搜索
- zTree的模糊搜索
- ztree 树的模糊搜索
- ztree 实现树的搜索功能
- zTree模糊搜索
- ztree模糊搜索
- ztree 带搜索框的 下拉选择树
- java+ztree仿百度搜索
- ztree根据关键字模糊搜索
- ztree添加搜索定位节点
- 利用ztree实现树搜索
- ztree搜索并且定位到搜索节点
- ztree 模糊搜索 子节点没有符合的时候同时隐藏父节点
- zTree-zTree Tree的 基础使用
- 关于zTree树形插件搜索框。
- zTree 模糊搜索并高亮文本
- [NOIP模拟][欧拉函数]切蛋糕
- JAVA中的static修饰的方法不能被重写
- 动静分离
- opencv之mixChannels/inRange
- c++ 导入头文件
- zTree的搜索
- 利用Python Mock模拟OJ test case
- ifconfig 不可用
- 基于百度AI的文字识别-Python
- STL中vector<type>的复制
- libcurl console 中文乱码
- 中文分词工具整理
- Position详解
- Java+Selenium3方法篇42-利用POI读写excel文件