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 相关文章推荐
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
Jun 11 Javascript
jquery win 7透明弹出层效果的简单代码
Aug 06 Javascript
jquery对ajax的支持介绍
Dec 10 Javascript
AngularJS ng-repeat数组有重复值的解决方法
Oct 23 Javascript
原生js实现瀑布流布局
Mar 08 Javascript
解决ztree搜索中多级菜单展示不全问题
Jul 05 Javascript
详解Webpack DLL用法以及功能
Jul 11 Javascript
关于javascript sort()排序你可能忽略的一点理解
Jul 18 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
Jan 26 Javascript
微信小程序数字滚动插件使用详解
Feb 02 Javascript
vue.js自定义组件directives的实例代码
Nov 09 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
Jul 17 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图像处理类分享
2014/11/18 PHP
PHP session文件独占锁引起阻塞问题解决方法
2015/05/12 PHP
PHP实现一个多功能购物网站的案例
2017/09/13 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
解决 firefox 不支持 document.all的方法
2007/03/12 Javascript
用js实现的模拟jquery的animate自定义动画(2.5K)
2010/07/20 Javascript
JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换
2012/02/27 Javascript
jQuery当鼠标悬停时放大图片的效果实例
2013/07/03 Javascript
JS网页图片按比例自适应缩放实现方法
2014/01/15 Javascript
判断iframe里的页面是否加载完成
2014/06/06 Javascript
AngularJs入门教程之环境搭建+创建应用示例
2016/11/01 Javascript
基于JavaScript实现验证码功能
2017/04/01 Javascript
详解vue渲染从后台获取的json数据
2017/07/06 Javascript
BetterScroll 在移动端滚动场景的应用
2017/09/18 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
使用vue中的混入mixin优化表单验证插件问题
2019/07/02 Javascript
Vue列表循环从指定下标开始的多种解决方案
2020/04/08 Javascript
vue 需求 data中的数据之间的调用操作
2020/08/05 Javascript
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
PyCharm2018 安装及破解方法实现步骤
2019/09/09 Python
Django实现文件上传下载功能
2019/10/06 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
Tensorflow中的dropout的使用方法
2020/03/13 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
Python使用Pygame绘制时钟
2020/11/29 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
2021/02/20 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
使用phonegap克隆和删除联系人的实现方法
2017/03/31 HTML / CSS
高级销售员求职信
2013/10/25 职场文书
数控专业应届生求职信
2013/11/27 职场文书
客户表扬信范文
2014/01/10 职场文书
师德师风自我评价范文
2014/09/11 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
文明家庭事迹材料
2014/12/20 职场文书
Springboot如何使用logback实现多环境配置?
2021/06/16 Java/Android
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android