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


Posted in Javascript onFebruary 25, 2016

一、初始异步加载树

 初始化默认给出一个根结点,再结合异步加载的方式手动触发默认加载第一层,如图:

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=listByTree</a>",
 dataType:"json",
 autoParam:["id=pid"]
 },
 view: {
 dblClickExpand: true,
 selectedMulti: false,
 expandSpeed: ($.browser.msie && parseInt($.browser.version)<=6)?"":"fast"
 },
 data: {
 simpleData: {
  enable:true,
  idKey: "id",
  pIdKey: "pid",
  rootPId: "root"
 }
 },
 callback: {
 onNodeCreated: zTreeOnNodeCreated
 }
};
 
//默认根结点
var rootNode = {"id":0, "pid":"root", "name":"商品分类", "open":true, "isParent":true};
 
$(document).ready(function(){
 var zTreeObj = $.fn.zTree.init($("#tree"), treeSetting, rootNode);
 var node = zTreeObj.getNodeByParam("id", 0, null);
 zTreeObj.reAsyncChildNodes(node, "refresh");
});

二、异步搜索叶子结点

    在使用JQuery ZTREE时可能要用到异步的方式模糊搜索叶子结点,如图:

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

    而如果只使用ZTREE自带的展开方法zTreeObj.expandNode只是会展开改结点,无法触发异步加载;这时候就必须手动调用异步加载的方法进行处理,解决思路如下:   
    通过在otherParam数组中设值的方式将搜索参数带到后台(无参数时必须将otherParam设为空数组否则一直会将前一次的参数带到后台);在结点创建完成后的回调函数onNodeCreated中进行手动异步加载。

代码如下:

function searchM() {
 var param = $.trim($("input[name='param']").val());
 var treeObj = $.fn.zTree.getZTreeObj("tree");
 var node = treeObj.getNodeByParam("id", 0, null);
 if(param != ""){
 param = encodeURI(encodeURI(param));
 treeObj.setting.async.otherParam=["param", param];
 }else {
 //搜索参数为空时必须将参数数组设为空
 treeObj.setting.async.otherParam=[];
 }
 treeObj.reAsyncChildNodes(node, "refresh");
}
 
function zTreeOnNodeCreated(event, treeId, treeNode) {
 var param <span></span><span></span>= $.tr<span></span>im($("input[name='param']").val());
 var treeObj = $.fn.zTree.getZTreeObj("tree");
 //只有搜索参数不为空且该节点为父节点时才进行异步加载
 if(param != "" && treeNode.isParent){
 treeObj.reAsyncChildNodes(treeNode, "refresh");
 } 
};

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

以上就是关于jquery ztree异步搜索的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
Jun 25 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
Feb 26 Javascript
JavaScript函数详解
Feb 27 Javascript
AngularJS教程之简单应用程序示例
Aug 16 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
Nov 09 Javascript
原生js实现键盘控制div移动且解决停顿问题
Dec 05 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
Dec 08 Javascript
angular实现表单验证及提交功能
Feb 01 Javascript
JAVA中截取字符串substring用法详解
Apr 14 Javascript
Vue 列表上下过渡效果的实例代码
Jun 25 Javascript
基于better-scroll 实现歌词联动功能的代码
May 07 Javascript
微信小程序开发打开另一个小程序的实现方法
May 17 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
javascript随机抽取0-100之间不重复的10个数
Feb 25 #Javascript
You might like
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
PHP从尾到头打印链表实例讲解
2018/09/27 PHP
JS input 数字验证代码
2009/07/30 Javascript
jQuery 标题的自动翻转实现代码
2009/10/14 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
2015/11/04 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
微信小程序之仿微信漂流瓶实例
2016/12/09 Javascript
原生js实现对Ajax的封装(仿jquery)
2017/01/22 Javascript
原生JavaScript实现Tooltip浮动提示框特效
2017/03/07 Javascript
JavaScript创建对象的七种方式(推荐)
2017/06/26 Javascript
全选复选框JavaScript编写小结(附代码)
2017/08/16 Javascript
webpack4简单入门实例
2018/09/06 Javascript
Vue使用lodop实现打印小结
2019/07/06 Javascript
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
JS实现简单tab选项卡切换
2019/10/25 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
Python数据类型详解(一)字符串
2016/05/08 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
2020/11/17 Python
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
行政管理人员精品工作推荐信
2013/11/04 职场文书
2014校长四风问题对照检查材料思想汇报
2014/09/16 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
2014年财务工作自我评价
2014/09/23 职场文书
英语导游词
2015/02/13 职场文书
商场收银员岗位职责
2015/04/07 职场文书
2015初中政治教学工作总结
2015/07/21 职场文书
小学语文课《掌声》教学反思
2016/03/03 职场文书
Python 语言实现六大查找算法
2021/06/30 Python
python处理json数据文件
2022/04/11 Python