jquery ztree实现树的搜索功能

本文实例分享了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实现树的搜索功能的相关资料,希望能够对大家的学习。

(0)

相关推荐

  • jquery ztree异步搜索(搜叶子)实践

    一.初始异步加载树 初始化默认给出一个根结点,再结合异步加载的方式手动触发默认加载第一层,如图: 代码如下: var treeSetting = { async: { enable: true, <a href="http://my.oschina.net/wealpan/admin/"xxx/demo.do?method=listByTree" rel="nofollow">url:"xxx/demo.do?method=listB

  • jQuery zTree加载树形菜单功能

    由于项目中需要设计树形菜单功能,于是百度找相关资料,发现zTree方面的资料不少,觉得挺不错,而且zTree官方也有API文档,介绍的非常详细,经过一番捣腾之后,终于给弄出来了,所以便记下来,也算是学习zTree的一个总结吧. zTree的介绍: 1.zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件 2.zTree v3.0 将核心代码按照功能进行了分割,不需要的代码可以不用加载 3.采用了 延迟加载 技术,上万节点轻松加载,即使在 IE6 下也能基本

  • jquery ztree实现模糊搜索功能

    本文分享了jquery ztree实现模糊搜索功能两个实例,供大家参考,具体内容如下 ztree官方demo代码里的: 根据参数查找节点 以上文件修改成如下代码 <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - getNodeByParam / getNodesByParam / getNodesByParamFuzzy</TITLE> <meta http-equiv="con

  • jQuery ztree实现动态树形多选菜单

    我用到的版本ztree core v3.5.24,需要引入的js,css,jquery.js,jquery.ztree.core.js,jquery.ztree.excheck.js(多选框可选),zTreeStyle.css. 需要注意的指向父节点的pId,我开始写的是pid一开始没注意,默认的是pId,当然可以pIdKey指定自定义的(未测).还有如果图片没显示肯定是没引入img图片,记得写好路径. 1.先介绍初始化加载ztree jsp <div > <ul id="tr

  • jQuery使用zTree插件实现树形菜单和异步加载

    本文实例讲解了jQuery使用zTree插件实现树形菜单和异步加载,并且可以进行编辑,分享给大家供大家参考,具体内容如下 效果图: 一.HTML代码 <html> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <l

  • JQuery ztree带筛选、异步加载实例讲解

    本文实例分享了JQuery ztree带筛选.异步加载实例,供大家参考,具体内容如下 <html> < head> < base href="<%=basePath%>"> <title>My JSP 'ztree.jsp' starting page</title> <link rel="stylesheet" href="zTrees/css/zTreeStyle/zTree

  • jquery zTree异步加载简单实例讲解

    本文实例讲解了jquery zTree异步加载,分享给大家供大家参考,具体内容如下 web.xml中Servlet配置如下: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XM

  • Jquery zTree 树控件异步加载操作

    zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件 兼容 IE.FireFox.Chrome 等浏览器 在一个页面内可同时生成多个 Tree 实例 支持 JSON 数据 支持一次性静态生成 和 Ajax 异步加载 两种方式 支持多种事件响应及反馈 支持 Tree 的节点移动.编辑.删除 支持任意更换皮肤 / 个性化图标(依靠css) 支持极其灵活的 checkbox 或 radio 选择功能 简单的参数配置实现 灵活多变的功能 异步加载的意思就是: 当点

  • JQuery ztree 异步加载实例讲解

    本来要做一个文件目录浏览界面,需要遍历所有的文件和目录,很显然一次性读取时很费时费力的一件事情. 因此就需要做异步加载.... 准备工作: 1下载 JQuery ZTree 复制其中的JS和CSS即可,其实没必要引那么多,用什么引什么就可以. 2 需要fastJSON,用来转换JSON对象 我下载JAR包后,引入到Eclipse中总是报找不到class错误. 解决办法:把jar包放在WEB-INF/lib下即可. 代码实例: index.jsp <%@ page language="jav

  • jquery zTree异步加载、模糊搜索简单实例分享

    本文实例为大家讲解了jquery zTree树插件的基本使用方法,具体内容如下 一.节点模糊搜索功能:搜索成功后,自动高亮显示并定位.展开搜索到的节点. 二.节点异步加载:1.点击展开时加载数据:2.选中节点时加载数据. 前台代码如下: <script type="text/javascript"> //ztree设置 var setting = { view: { fontCss: getFontCss }, check: { enable: true }, data:

随机推荐