jquery ztree实现树的搜索功能


Posted in Javascript onFebruary 25, 2016

本文实例分享了jquery ztree实现树的搜索功能,供大家参考,具体内容如下

var userZTree; 
var userSetting={ 
 check: { 
  enable: true, 
  chkStyle: "radio", 
  chkboxType : {"Y" : "" , "N" : ""}, 
  radioType: "all" 
 }, 
 data: { 
  simpleData: { 
  enable: true, 
  idKey : "id", 
  pIdKey : "pid" 
  } 
 }, 
 callback:{ 
  onClick : clickCheck 
 }, 
 view :{ 
  showIcon: false, 
  fontCss: getFontCss 
 } 
};

这里要加一个属性:view:{fontCss:getFontCss}
这里的getFontCss为自己写的一个方法:

function getFontCss(treeId, treeNode) { 
 return (!!treeNode.highlight) ? {color:"#A60000", "font-weight":"bold"} : {color:"#333", "font-weight":"normal"}; 
}

这样就可以实现变色功能了;
接下来 要在自己写的显示树上方加一个搜索输入框:

<div id="userDiv" class="showParentDiv showDiv" style="z-index:105;display: none;"> 
 <div class="grayBg"> 
  <div class="toolbar"> 
  <input type="button" value=" <s:text name='button.submit'/> " onclick="submitUser();"/> 
  <input type="button" value=" <s:text name='button.cancel'/> " onclick="closeUserDiv();"/> 
  <input type="button" value=" 新建 " onclick="toAddDiv();"/> 
 </div> 
 </div> 
 <div style="text-align:left;margin:5px;height: 15px;">按名字过滤:<input type="text" id="dicKey" onkeyup="changeColor('userTree','name',this.value)"/></div> 
 <ul id="userTree" class="ztree" style="height:350px; overflow-y:scroll;"></ul> 
</div>

这里可以看到调用了changeColor方法:

//使用搜索数据 加高亮显示功能,需要2步 
//1.在tree的setting 的view 设置里面加上 fontCss: getFontCss 设置 
//2.在ztree容器上方,添加一个文本框,并添加onkeyup事件,该事件调用固定方法 changeColor(id,key,value) 
// id指ztree容器的id,一般为ul,key是指按ztree节点的数据的哪个属性为条件来过滤,value是指过滤条件,该过滤为模糊过滤 
function changeColor(id,key,value){ 
 treeId = id; 
 updateNodes(false); 
 if(value != ""){ 
 var treeObj = $.fn.zTree.getZTreeObj(treeId); 
 nodeList = treeObj.getNodesByParamFuzzy(key, value); 
 if(nodeList && nodeList.length>0){ 
  updateNodes(true); 
 } 
 } 
} 
function updateNodes(highlight) { 
 var treeObj = $.fn.zTree.getZTreeObj(treeId); 
 for( var i=0; i<nodeList.length; i++) { 
 nodeList[i].highlight = highlight; 
 treeObj.updateNode(nodeList[i]); 
 } 
} 

treeObj.getNodesByParamFuzzy(key, value);

是检索的ztree函数;
这样就ok了 ,可以实现搜索功能了。

更多关于ztree控件的内容,请参考专题《jQuery插件ztree使用汇总》 。

以上就是为大家分析的ztree实现树的搜索功能的相关资料,希望能够对大家的学习。

Javascript 相关文章推荐
Jquery UI震动效果实现原理及步骤
Feb 04 Javascript
JavaScript中instanceof运算符的用法总结
Nov 19 Javascript
javascript中indexOf技术详解
May 07 Javascript
Javascript中的数据类型之旅
Oct 18 Javascript
jquery 中toggle的2种用法详解(推荐)
Sep 02 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
Oct 31 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
Dec 08 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
Sep 18 Javascript
原生JS使用Canvas实现拖拽式绘图功能
Jun 05 Javascript
JS实现移动端双指缩放和旋转方法
Dec 13 Javascript
vue使用transition组件动画效果的实例代码
Jan 28 Vue.js
JavaScript+HTML实现学生信息管理系统
Apr 20 Javascript
jquery ztree异步搜索(搜叶子)实践
Feb 25 #Javascript
JQuery ztree 异步加载实例讲解
Feb 25 #Javascript
Node.js编写组件的三种实现方式
Feb 25 #Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
Feb 25 #Javascript
你所未知的3种Node.js代码优化方式
Feb 25 #Javascript
jQuery使用contains过滤器实现精确匹配方法详解
Feb 25 #Javascript
原生javascript实现addClass,removeClass,hasClass函数
Feb 25 #Javascript
You might like
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
2013/06/05 PHP
PHP+JQuery+Ajax实现分页方法详解
2016/08/06 PHP
YII框架批量插入数据的方法
2017/03/18 PHP
js验证表单第二部分
2006/11/25 Javascript
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
Javascript实现禁止输入中文或英文的例子
2014/12/09 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
canvas的神奇用法
2017/02/03 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
详解如何使用webpack打包JS
2018/06/21 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
python中的全局变量用法分析
2015/06/09 Python
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
2017/05/31 Python
python实现京东秒杀功能
2018/07/30 Python
Django如何自定义分页
2018/09/25 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
python实现输入的数据在地图上生成热力图效果
2019/12/06 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
Django model重写save方法及update踩坑详解
2020/07/27 Python
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
2014/10/31 面试题
网站编辑求职信
2013/10/17 职场文书
管道维修工岗位职责
2013/12/27 职场文书
会计职业生涯规划书
2014/01/13 职场文书
运动会入场口号
2014/06/07 职场文书
golang goroutine顺序输出方式
2021/04/29 Golang
python装饰器代码解析
2022/03/23 Python