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 iframe内部出滚动条
Feb 11 Javascript
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
Jun 18 Javascript
Javascript在IE和FireFox中的不同表现简析
Dec 03 Javascript
常用的Javascript数据验证插件
Aug 04 Javascript
详解JavaScript操作HTML DOM的基本方式
Oct 21 Javascript
jquery实现简洁文件上传表单样式
Nov 02 Javascript
js实现HashTable(哈希表)的实例分析
Nov 21 Javascript
jQuery电话号码验证实例
Jan 05 Javascript
js实现旋转木马效果
Mar 17 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
May 17 Javascript
详解vue项目构建与实战
Jun 27 Javascript
JavaScript读取本地文件常用方法流程解析
Oct 12 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
DWZ+ThinkPHP开发时遇到的问题分析
2016/12/12 PHP
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
2015/10/27 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
js省市县三级联动效果实例
2020/04/15 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
如何使用jquery实现文字上下滚动效果
2016/10/12 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
jQuery复合事件用法示例
2017/06/10 jQuery
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
2018/02/16 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
详解Vue 全局引入bass.scss 处理方案
2018/03/26 Javascript
jQuery插件Validation表单验证详解
2018/05/26 jQuery
vue组件实践之可搜索下拉框功能
2018/11/25 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
Python守护进程(daemon)代码实例
2015/03/06 Python
Python中Django框架利用url来控制登录的方法
2015/07/25 Python
Python脚本处理空格的方法
2016/08/08 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
python 将字符串完成特定的向右移动方法
2019/06/11 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
python tqdm库的使用
2020/11/30 Python
python 邮件检测工具mmpi的使用
2021/01/04 Python
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
英智兴达软件测试笔试题
2016/10/12 面试题
物理系毕业生自荐信
2013/11/01 职场文书
经贸日语专业个人求职信范文
2013/12/28 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
自荐信模板大全
2015/03/27 职场文书
创业计划书之书店
2019/09/10 职场文书
Python图像处理库PIL详细使用说明
2022/04/06 Python