zTree模糊搜索,显示全部节点和高亮显示
function searchFun() {
var value;
if($("#code2").val()!=null && $("#code2").val()!=''){
value="【"+$("#code2").val()+"】"+$("#productName").val();
}else {
value=$("#productName").val();
}
var allNode = zTreeObj.transformToArray(zTreeObj.getNodes());
zTreeObj.hideNodes(allNode);//隐藏所有节点
hiddenNodes = zTreeObj.getNodesByParamFuzzy("name", value, null);//搜索含有value关键字的节点
hiddenNodes = zTreeObj.transformToArray(hiddenNodes);//转化为数组
for(var n in hiddenNodes){//遍历
findParent(zTreeObj,hiddenNodes[n]);//找到其父节点
}
zTreeObj.showNodes(hiddenNodes);//显示满足的所有节点
/*highlightAndExpand_ztree(hiddenNodes);*/
if (value == "") {
zTreeObj.expandAll(false);
}
}
function findParent(treeObj,node){
treeObj.expandNode(node,true,true,true);//展开treeObj中所有节点并获得焦点
var pNode = node.getParentNode();//获取父节点
findNextNode(node);//后一个节点
findPreNode(node);//前一个节点
if(pNode != null){
hiddenNodes.push(pNode);//
findParent(treeObj,pNode);//递归查询上上一级父节点
}
}
function findNextNode(node) {//获取节点的下一个节点
var nextNode=node.getNextNode();
if(nextNode!=null){
if(nextNode.lvl==1){
return;
}
hiddenNodes.push(nextNode);
var children=nextNode.children;
if(children){
for(var i in children){
hiddenNodes.push(children[i]);
}
}
findNextNode(nextNode);//递归获取
}
}
function findPreNode(node) {//获取节点的上一个节点
var preNode=node.getPreNode();
if(preNode!=null){
if(preNode.lvl==1){
return;
}
hiddenNodes.push(preNode);
var children=preNode.children;//获取节点的子节点集合
if(children){
for(var i in children){
hiddenNodes.push(children[i]);
}
}
findPreNode(preNode);
}
}
/!**
* 高亮显示并展示
* @param highlightNodes 需要高亮显示的节点数组
*!/
function highlightAndExpand_ztree(highlightNodes) {
//先把全部节点更新为普通样式
for(var i = 0; i < highlightNodes.length; i++) {
highlightNodes[i].highlight = false;
zTreeObj.updateNode(highlightNodes[i]);
}
//把指定节点的样式更新为高亮显示,并展开
if(highlightNodes != null) {
for(var i = 0; i < highlightNodes.length; i++) {
//高亮显示节点,并展开
highlightNodes[i].highlight = true;
var t = highlightNodes[i].name;
t = "span style='color:red'" + t + "</span";//改变颜色
highlightNodes[i].name = t;
zTreeObj.updateNode(highlightNodes[i]);//执行修改
zTreeObj.expandNode(highlightNodes[i], true, true, true);
}
}
}
zTree模糊搜索,显示全部节点和高亮显示的更多相关文章
- ztree 展开一级节点 | ztree只显示到二级目录
// 默认展开一级节点var nodes = tree.getNodesByParam("level", 0);for (var i = 0; i < nodes.lengt ...
- 关于ztree打开关闭所有节点,选中指定id节点
var isOneByOneExpand=false;//是否递归展开 //展开节点 function expendNode(nodeId){ var node = treeObj.getNodeBy ...
- {二逼小青年的记事簿}为什么treelist不会显示子节点的文字?
<TreeView Name="treeView" DockPanel.Dock="Left" MinWidth="200" > ...
- Devexpress TreeList控件绑定显示父子节点对像
今天一位同事咨询Devexpress TreeList控件绑定自动显示父子节点对像,但结果是不会显示带父子节点关系,而是将所有的节点作为父节点显示出来了,对像类的代码如下 public class I ...
- zTree实现删除树节点
zTree实现删除树节点 1.实现源码 <!DOCTYPE html> <html> <head> <title>zTree实现基本树</titl ...
- zTree实现更新根节点中第i个节点的名称
zTree实现更新根节点中第i个节点的名称 1.实现源码 <!DOCTYPE html> <html> <head> <title>zTree实现基本树 ...
- zTree实现获取一级节点数据
zTree实现获取一级节点数据 1.实现源码 <!DOCTYPE html> <html> <head> <title>zTree实现基本树</t ...
- Ztree _ 横向显示子节点、点击文字勾选、去除指定元素input的勾选状态
前些天项目需要树结构表现数据,需求ztree就能满足所以直接使用ztree只是踩了些小坑... 1.ztree子节点横向显示(下图): 效果说明:第三级子节点按需求横向显示其他竖向显示,每行最多显示5 ...
- jquery Ztree v3.5 实例2 自定义显示在节点前的图片
显示效果如下: 代码如下: <html> <head><title></title></head> <script type=&quo ...
随机推荐
- Cordic算法——verilog实现
上两篇博文Cordic算法--圆周系统之旋转模式.Cordic算法--圆周系统之向量模式做了理论分析和实现,但是所用到的变量依然是浮点型,而cordic真正的用处是基于FPGA等只能处理定点的平台.只 ...
- 微信小程序开发《三》:微信小程序请求不能使用session的原因及解决办法
本人在前面的微信小程序开发<二>中提到要想在服务端保持状态需要在客户端第一次请求服务器的时候给客户端返回一个sessionid,由客户端在本地保存,下次请求的时候在header里面带上这个 ...
- bootstrap的模态简单案例
使用时需添加bootstrap的引用,否则实现不出来效果 <!DOCTYPE html> <html><head> <meta name="v ...
- 5分钟搞定iOS抓包Charles,让数据一清二楚
Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装 官网下载安装Charles:https://www.charlesproxy.com/download/ 2. HTTP ...
- tcp并发服务器(c20w)
** 原创文章,请勿转载 ** 并发服务器是一个老生常谈的话题,今天这里也写一个. 1. 目标: 同时在线连接20万(c20w). 开发语言:重要的事情说三遍,GOLANG, GOLANG, GOLA ...
- Java 操作 Json
1. 使用Gson构建Json 初始化 JsonObject jsonObject = new JsonObject(); 添加属性 jsonObject.addProperty("name ...
- Qt颜色下拉框
上周为了用Qt写一个类似颜色下拉框的东西,查阅了网上的多数相关资料,依然没有我想要的.终于在周四的时候下定决心重写QCombobox类来实现功能,现在把它贴出来,望看到的人,批评指正.废话不多说,先上 ...
- 【原创】python基于大数据现实双色球预测
前提准备:利用sql筛选出每个球出现概率最高的前5个数 原理:先爬出所有的历史数据,然后模拟摇奖机出球的机制并大量模拟计算,直到出现列表中的某一个数后即停 注意事项:由于计算过程数据量很大,需要加入内 ...
- 小白关于python 对象和内存的关系的一些感悟和疑惑,望大神指教
首先你输入了一个字符串,这个字符串是有大小的,电脑将其放在内存中,自动给其一个起始指针指向这个字符串的首位置,然后,你将这个字符串赋值给一个变量,这个对象又在内存中开辟出一个空间,这个变量会自动连接这 ...
- python学习之路day2
模块学习: 标准库: os: 第三方库: