下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、jquery zTree异步加载、模糊搜索简洁实例分享_ 本文实例为大家讲解了jquery zTree树插件的基本用法方法,具体内容如下 一、节点模糊搜索功能:搜索胜利后,自动高亮显示并定位、绽开搜索到的节点。 二、节点异步加载:1、点击绽开时加载数据;2、选中节点时加载数据。 前台代码如下: script type=text/javascript /ztree设置 var setting = view: fontCss: getFontCss , check: enable: true , data: simpleData: enable: true, idKey: id, pIdKey:
2、pId, rootPId: 0 , async: enable: true, url: #getStudentsJsonUrl, autoParam: id, level , callback: beforeCheck: zTreeBeforeCheck, onNodeCreated: zTreeOnNodeCreated, beforeExpand: zTreeBeforeExpand ; var reloadFlag = false; /是否重新异步恳求 var checkFlag = true; /是否选中 /节点绽开前 function zTreeBeforeExpand(treeId
3、, treeNode) reloadFlag = false; return true; ; /节点创建后 function zTreeOnNodeCreated(event, treeId, treeNode) var zTree = $.fn.zTree.getZTreeObj(treeId); if (reloadFlag) if (checkFlag) zTree.checkNode(treeNode, true, true); if (!treeNode.children) zTree.reAsyncChildNodes(treeNode, refresh); ; /选中节点前 fu
4、nction zTreeBeforeCheck(treeId, treeNode) var zTree = $.fn.zTree.getZTreeObj(treeId); if (!treeNode.children) reloadFlag = true; checkFlag = true; zTree.reAsyncChildNodes(treeNode, refresh); return true; /页面加载完成 _run(function () require(zTree/js/jquery.ztree.all-3.5, function () $.ajax( type: POST,
5、url: #getStudentsJsonUrl, success: function (data) if (data data.length != 0) /假如结果不为空 $.fn.zTree.init($(#tree), setting, data); else /搜索不到结果 ); ); /提交 $(#inputSubmit).click(function () var zTree = $.fn.zTree.getZTreeObj(tree); var nodes = zTree.getCheckedNodes(true); var ids = ; var names = ; for (
6、var i = 0; i nodes.length; i+) /遍历选择的节点集合 if (!nodesi.isParent) ids += nodesi.id.replace(level + nodesi.level, ) + ,; names += + ,; Simpo.ui.box.hideBox(); parent.$(.boxFrm).contents().find(#inputRange).val(names.substr(0, names.length - 1); parent.$(.boxFrm).contents().find(#hidRange).v
7、al(ids.substr(0, ids.length - 1); ) ); /查找节点 var lastNodeList = ; var lastKey; function searchNode() var zTree = $.fn.zTree.getZTreeObj(tree); var key = $.trim($(#inputSearchNode).val(); if (key != key != lastKey) nodeList = zTree.getNodesByParamFuzzy(name, key); for (var i = 0, l = lastNodeList.len
8、gth; i l; i+) /上次查询的节点集合取消高亮 lastNodeListi.highlight = false; zTree.updateNode(lastNodeListi); zTree.expandAll(false); /全部收缩 if (nodeList.length 0) for (var i = 0, l = nodeList.length; i l; i+) /遍历找到的节点集合 if (nodeListi.getParentNode() zTree.expandNode(nodeListi.getParentNode(), true, false, false);
9、/绽开其父节点 nodeListi.highlight = true; zTree.updateNode(nodeListi); zTree.refresh(); / 很重要,否则节点状态更新混乱。 lastNodeList = nodeList; lastKey = key; /加载数据 function loadData() var zTree = $.fn.zTree.getZTreeObj(tree); var rootNodes = zTree.getNodes(); reloadFlag = true; checkFlag = false; for (var i = 0; i ro
10、otNodes.length; i+) if (!rootNodesi.children) zTree.reAsyncChildNodes(rootNodesi, refresh); /异步加载 /全部收缩 function closeAll() var zTree = $.fn.zTree.getZTreeObj(tree); if ($(#inputCloseAll).val() = 全部收缩) zTree.expandAll(false); $(#inputCloseAll).val(全部绽开) else zTree.expandAll(true); $(#inputCloseAll).
11、val(全部收缩) /高亮样式 function getFontCss(treeId, treeNode) return (treeNode.highlight) ? color: #A60000, font-weight: bold : color: #333, font-weight: normal ; /script - div style=width: 200px; height: 260px; overflow: auto; border: solid 1px #666; ul id=tree class=ztree /ul /div 后台代码(后台返回Json数据): public
12、 void SelStudent() set(getStudentsJsonUrl, to(GetStudentsJson); public void GetStudentsJson() ListDictionarystring, string dicList = new ListDictionarystring, string(); string level = ctx.Post(level); string id = ctx.Post(id); if (strUtil.IsNullOrEmpty(id) #region 加载班级 /猎取当前登录用户 Sys_User user = Admi
13、nSecurityUtils.GetLoginUser(ctx); /猎取当前用户关联的老师 Edu_Teacher teacher = edu_TeacService.FindByUserId(user.Id); /猎取班级集合 ListEdu_ClaNameFlow list = edu_ClaNameFlowService.GetListByTeacherId(teacher.Id); foreach (Edu_ClaNameFlow item in list) Dictionarystring, string dic = new Dictionarystring, string();
14、dic.Add(id, level0 + item.Calss.Id.ToString(); dic.Add(pId, 0); dic.Add(name, item.Gra.Name + item.Calss.Name); dic.Add(isParent, true); dicList.Add(dic); #endregion else if (level = 0) /加载同学 ListEdu_Student list = edu_StudService.GetListByClassId(id.Replace(level0, ); foreach (Edu_Student item in l
15、ist) Dictionarystring, string dic = new Dictionarystring, string(); dic.Add(id, level1 + item.Id.ToString(); dic.Add(pId, id); dic.Add(name, item.Name); dic.Add(isParent, false); dicList.Add(dic); echoJson(dicList); 三、基于cookie实现zTree树刷新后,绽开状态不变 1、除了引用jQuery和zTree的JS外,引用cookie的JS: 复制代码 代码如下: script t
16、ype=text/javascript src=/Scripts/jquery-treeview/lib/jquery.cookie.js/script 2、JS代码: $(function () /ztree设置 var setting = data: simpleData: enable: true, idKey: id, pIdKey: pId, rootPId: null , callback: onExpand: onExpand, onCollapse: onCollapse ; $.ajax( type: POST, url: /Tech/TemplateTypeManage/G
17、etData, success: function (data) if (data data.length != 0) $.fn.zTree.init($(#tree), setting, data); var treeObj = $.fn.zTree.getZTreeObj(tree); var cookie = $.cookie(z_tree + window.location); if (cookie) z_tree = JSON2.parse(cookie); for (var i = 0; i z_tree.length; i+) var node = treeObj.getNode
18、ByParam(id, z_treei) treeObj.expandNode(node, true, false) ); );/end $ function onExpand(event, treeId, treeNode) var cookie = $.cookie(z_tree + window.location); var z_tree = new Array(); if (cookie) z_tree = JSON2.parse(cookie); if ($.inArray(treeNode.id, z_tree) 0) z_tree.push(treeNode.id); $.cookie(z_tree + window.location, JSON2.stringify(z_tree) function onCollapse(event, treeId, treeNode) var cookie = $.cookie(z_tree + window.location); var z_tree = new Array(); if (cookie) z_tree = JSON2.parse(cookie); var index = $.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【高考真题】2026年普通高等学校招生全国统一考试数学试题北京卷(回忆版)(含答案)
- 【中考真题】福建省2026年中考地理真题(含答案)
- 空间分析相关试题及答案
- 衡阳中考数学试题及答案
- 提升企业综合盈利能力的管理优化策略研究
- 农村养老机构服务质量对入住意愿的影响研究报告
- 2025-2030年自动驾驶高精度地图超算处理行业跨境出海战略分析研究报告
- 客车技术深入研究行业深度调研及发展战略咨询报告
- 农业信贷对农户生产投资的影响研究意义
- 生态导向型金融工具开发与设计探讨
- 煤矸石充填塌陷区复垦技术规程-编制说明
- Python少儿编程全套教学课件
- 国电南瑞员工手册
- 小学生女生健康教育课件
- 2023硅铁多元素含量的测定电感耦合等离子体原子发射光谱法
- 三江能源有限公司煤矿矿山地质环境保护与土地复垦方案
- 关于腹腔镜胆囊切除手术的护理配合
- 重体力劳动评估程序(RBA健康安全)
- GB/T 7702.3-1997煤质颗粒活性炭试验方法强度的测定
- GB/T 21380-2008行人反光标识夜间光度性能及测试方法
- 中国药典2005版一部
评论
0/150
提交评论