博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
扩展jquery easyui tree的节点检索方法
阅读量:5122 次
发布时间:2019-06-13

本文共 2260 字,大约阅读时间需要 7 分钟。

/** * 1)扩展jquery easyui tree的节点检索方法。使用方法如下: * $("#treeId").tree("search", searchText);	  * 其中,treeId为easyui tree的根UL元素的ID,searchText为检索的文本。 * 如果searchText为空或"",将恢复展示所有节点为正常状态 */(function($) {			$.extend($.fn.tree.methods, {		/**		 * 扩展easyui tree的搜索方法		 * @param tree easyui tree的根DOM节点(UL节点)的jQuery对象		 * @param searchText 检索的文本		 * @param this-context easyui tree的tree对象		 */		search: function(jqTree, searchText) {			//easyui tree的tree对象。可以通过tree.methodName(jqTree)方式调用easyui tree的方法			var tree = this;						//获取所有的树节点			var nodeList = getAllNodes(jqTree, tree);				  		//如果没有搜索条件,则展示所有树节点			searchText = $.trim(searchText);	  		if (searchText == "") {	  			for (var i=0; i
0) { var node = null; for (var i=0; i
0) { for (var i=0; i
(containerH - 30)) { var scrollHeight = container.scrollTop() + nodeOffsetHeight - containerH + 30; container.scrollTop(scrollHeight); } } } }); /** * 展示搜索匹配的节点 */ function showMatchedNode(jqTree, tree, node) { //展示所有父节点 $(node.target).show(); $(".tree-title", node.target).addClass("tree-node-targeted"); var pNode = node; while ((pNode = tree.getParent(jqTree, pNode.target))) { $(pNode.target).show(); } //展开到该节点 tree.expandTo(jqTree, node.target); //如果是非叶子节点,需折叠该节点的所有子节点 if (!tree.isLeaf(jqTree, node.target)) { tree.collapse(jqTree, node.target); } } /** * 判断searchText是否与targetText匹配 * @param searchText 检索的文本 * @param targetText 目标文本 * @return true-检索的文本与目标文本匹配;否则为false. */ function isMatch(searchText, targetText) { return $.trim(targetText)!="" && targetText.indexOf(searchText)!=-1; } /** * 获取easyui tree的所有node节点 */ function getAllNodes(jqTree, tree) { var allNodeList = jqTree.data("allNodeList"); if (!allNodeList) { var roots = tree.getRoots(jqTree); allNodeList = getChildNodeList(jqTree, tree, roots); jqTree.data("allNodeList", allNodeList); } return allNodeList; } /** * 定义获取easyui tree的子节点的递归算法 */ function getChildNodeList(jqTree, tree, nodes) { var childNodeList = []; if (nodes && nodes.length>0) { var node = null; for (var i=0; i

原文地址:  

转载于:https://www.cnblogs.com/zhouwan/p/11090044.html

你可能感兴趣的文章
手脱tElock 0.98b1 -> tE!
查看>>
指针变量
查看>>
同步与异步
查看>>
Apple Mach-O Linker (id) Error "_OBJC_CLASS_$_AsyncSocket", referenced from: 错误
查看>>
xcode 多个工程联调
查看>>
邓西百度网盘批量转存高级版,支持增量更新资料
查看>>
[TPYBoard - Micropython之会python就能做硬件 3] 制作电子时钟
查看>>
[脱机辅助][稳定更新中][2016/6/1更新]
查看>>
网上爆出ATM取款机存漏洞 黑客可获最高权限
查看>>
暗夜之枪水面shader
查看>>
IO流
查看>>
[k8s集群系列-07]Kubernetes 网络组件Flannel
查看>>
ES6新增的一些特性
查看>>
hdu 5288 数学 ****
查看>>
WinForm自制水晶按钮
查看>>
vmare-Tools重启后也不生效的问题
查看>>
做ppt经常使用站点
查看>>
ITM事件直接接收并解析
查看>>
微信小程序的基本认识
查看>>
排行榜的实现
查看>>