jQuery中zTree搜索怎么实现
发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,本篇内容介绍了"jQuery中zTree搜索怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!关
千家信息网最后更新 2025年02月12日jQuery中zTree搜索怎么实现
本篇内容介绍了"jQuery中zTree搜索怎么实现"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
关于树节点
要完成上述流程中各种方法,我们需要知道树节点的一系列属性,我们都知道有api这种神器,然而api有一个特点就是齐全(齐全得我们想精确的找到某一个属性或者方法时可能得一顿好找),这里我们想要的是如何快速得到自己想要的属性或者方法,我们在控制台打印出树节点集合:
var treeObj=$.fn.zTree.getZTreeObj("homeTree"); // 设置根节点 var node = treeObj.getNodes(); // 获取根节点 var nodes = treeObj.transformToArray(node); // 获取所有节点 console.log(nodes);
看图:我们能看到所有节点,其中有id,name等各种属性
再看图:我们能看到任意节点的各种属性,有我们想要的子节点集合 childern,父节点属性 isParent ,节点id tId,父节点id parentTid...
万事俱备,动手
下面看一下相关方法,很多小细节需要在真正编码过程中才能发现,这里为了方便展示就直接列举方法了。
声明备用数组:
// 地区搜索 var parentArray = []; var childArray = [];
递归获取目标节点父节点集合:
// 递归获取目标节点所有父节点 function getParentsNode(treeNode){ var thisParentNode = treeNode.getParentNode(); //得到该节点的父节点 if( thisParentNode != null ){ // 父节点存在 parentArray.push(thisParentNode); // 储存至数组 getParentsNode(thisParentNode); // 重调 }else{ return false; } }
递归获取目标节点子节点集合:
// 递归获取目标节点所有子节点 function getChildrenNode(treeNode){ var thisIsParent = treeNode.isParent; // 获取目标节点 isParent 属性,判断是否为父节点 if( thisIsParent == true ){ var thisChildrenNode = treeNode.children; // 得到该节点的子节点集合 for(var i=0;i这里建议将匹配节点部分摘出来单独写一个方法,方便进行拓展匹配规则,这里我们假设除了匹配name还需要匹配节点的 entity_code 属性:
//匹配节点 function matchNode(treeNode,num){ var inputArea = $("input[name='searchArea']"); var name = treeNode.name; var entityCode = treeNode.entity_code|| ''; var val = inputArea.val(); // 获取检索值 var numName = name.indexOf(val); var numCode = entityCode.indexOf(val); var num = -1; if( numName != -1 || numCode !=-1 ){ num = 1; } if( numName == -1 && numCode == -1 ){ num = -1; } return num; }节点匹配成功方法:
// 节点匹配成功 function checkTrueArray(arr,treeNode){ var thisTid = treeNode.tId; var thisLi = $("#"+thisTid); for(var n=0;n节点匹配失败方法:
// 节点匹配失败 function checkFalseArray(arr,treeNode){ var result = []; var result2 = []; var thisTid = treeNode.tId; var thisLi = $("#"+thisTid); var val = inputArea.val(); // 获取检索值 var thisParent = treeNode.getParentNode(); // 获取目标节点父节点 if( thisParent != null ){ // 有父节点 var thisBrotherArr = treeNode.getParentNode().children; // 得到包含自身的兄弟数组 for(var m=0;m目标节点匹配失败 目标节点即有父节点又有子节点:
// 目标节点匹配失败 目标节点即有父节点又有子节点 function checkAllArray(arr,arr2,treeNode){ var result = []; var result2 = []; var thisTid = treeNode.tId; var thisLi = $("#"+thisTid); var val = inputArea.val(); // 获取检索值 for(var m=0;m定义搜索方法:
function searchArea(treeId, treeNode){ // 定义搜索方法 var inputArea = $("input[name='searchArea']"); var val = inputArea.val(); // 获取检索值 var treeObj=$.fn.zTree.getZTreeObj("homeTree"); // 设置根节点 var node = treeObj.getNodes(); // 获取根节点 var nodes = treeObj.transformToArray(node); // 获取所有节点 console.log(nodes); for(var i=0;i调用搜索方法:
// 调用搜索方法 $(".searchAreaBtn").click(function(treeId, treeNode){ searchArea(treeId, treeNode); }); var inputArea = $("input[name='searchArea']"); inputArea.keyup(function(treeId, treeNode,e){ var e = event || window.event; var val = inputArea.val(); if( e.keyCode == 13 || val == "" ){ searchArea(treeId, treeNode); } });看效果
"jQuery中zTree搜索怎么实现"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
节点
方法
目标
数组
成功
属性
搜索
递归
检索
兄弟
齐全
内容
更多
知识
过程
长度
好找
实用
精确
万事俱备
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机网络技术适合女生学么
深信服网络技术应聘条件
lvs服务器
单片机怎么应用数据库
分析数据库表关联的工具
安装软件无法连接数据库
珠海市工行软件开发中心
信息发布流媒体服务器有什么用
小学网络安全知识手抄报
北京长城软件开发公司
上海万户网络安全ppt
软件开发专业硕士好找工作吗
数据库课程设计报告模板
数据库限制输入的字母是大写
周村食品软件开发
药品广告数据库亮甲视
软件开发验收总则
白帽子黑客与网络安全工程师
毒理数据库有哪些
hive设置元数据库
root软件开发者模式
sql数据库中视图的作用
h1z1白天服务器
卫星互联网高科技新基建
数据中心服务器频道
杭州鲸熹网络技术有限公司
计算机网络技术手抄报黑白
网络安全主要靠法律监督
计算机网络技术基础护肤水乳
战地4服务器延迟