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 相关文章推荐
ExtJs3.0中Store添加 baseParams 的Bug
Mar 10 Javascript
javascript获取xml节点的最大值(实现代码)
Dec 11 Javascript
js 鼠标移动显示图片的简单实例
Dec 25 Javascript
Jquery中offset()和position()的区别分析
Feb 05 Javascript
高性能JavaScript 重排与重绘(2)
Aug 11 Javascript
jQuery 全选 全不选 事件绑定的实现代码
Jan 23 Javascript
javaScript中封装的各种写法示例(推荐)
Jul 03 Javascript
基于vue 动态加载图片src的解决方法
Feb 05 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
Jul 23 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
Oct 10 Javascript
浅入深出Vue之自动化路由
Aug 06 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
May 15 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
apache和php之间协同工作的配置经验分享
2013/04/08 PHP
php引用返回与取消引用的详解
2013/06/08 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
swoole锁的机制代码实例讲解
2021/03/04 PHP
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
用js通过url传参把数据从一个页面传到另一个页面
2014/09/01 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
jQuery实现区域打印功能代码详解
2016/06/17 Javascript
JavaScript评论点赞功能的实现方法
2017/03/13 Javascript
jQuery用noConflict代替$的实现方法
2017/04/12 jQuery
js实现添加删除表格(两种方法)
2017/04/27 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
详解Node.js模板引擎Jade入门
2018/01/19 Javascript
centos 上快速搭建ghost博客方法分享
2018/05/23 Javascript
Vue2实时监听表单变化的示例讲解
2018/08/30 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
微信小程序封装分享与分销功能过程解析
2019/08/13 Javascript
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
Python对数据库操作
2016/03/28 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
丝芙兰香港官网:Sephora香港
2018/03/13 全球购物
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
英国高级健康和美容产品零售商:Life and Looks
2019/08/01 全球购物
奖学金自我鉴定范文
2013/10/03 职场文书
大学生求职推荐信
2013/11/27 职场文书
护理毕业生自我鉴定
2014/02/11 职场文书
经典而简洁的婚礼主持词
2014/03/13 职场文书
干部个人对照检查材料
2014/08/25 职场文书
2015教师节师德演讲稿
2015/03/19 职场文书
canvas多重阴影发光效果实现
2021/04/20 Javascript
为Java项目添加Redis缓存的方法
2021/05/18 Redis
详解Java实践之适配器模式
2021/06/18 Java/Android
解决Oracle数据库用户密码过期
2022/05/11 Oracle