//树形菜单搜索方法
    function searchTree(treeObj,parentNode,searchCon){
        var children;
        for(var i=0;i<parentNode.length;i++){ //循环顶级 node
            children = $(treeObj).tree('getChildren',parentNode[i].target);//获取顶级node下所有子节点
            if(children){ //如果有子节点
                for(var j=0;j<children.length;j++){ //循环所有子节点
                    if($(treeObj).tree('isLeaf',children[j].target)){ //判断子级是否为叶子节点,即不是父节点
                        if(children[j].text.indexOf(searchCon)>=0){ //判断节点text是否包含搜索文本                    
                            selectNode(treeObj,children[j]); //设置此节点为选择状态
                            expandParent(treeObj,children[j]); //设置此节点所有父级展开
                            break;
                        }
                    }
                }
            }else{
                if(parentNode[i].text.indexOf(searchCon)>=0){
                    selectNode(treeObj,parentNode[i]);
                    expandParent(treeObj,parentNode[i]);
                    break;
                }
            }
        }
    };

// 然后是 标记为选择状态 和 展开所有父级 的两个方法 selectNode , expandParent
    function selectNode(treeObj,node){
        $(treeObj).tree('select',node.target);           
    };

function expandParent(treeObj,node){
        var parent = node;
        var t = true;
        do {
            parent = $(treeObj).tree('getParent',parent.target); //获取此节点父节点
            if(parent){ //如果存在
            t=true;
            $(treeObj).tree('expand',parent.target);
        }else{
            t=false;
        }
        }while (t);           
    };

//调用搜索方法

function sysTextSearch(){
    var search_content = $('#sysText').val(); //得到搜索的文件
//            if(search_content == ''){
//                $('#treelist').tree('expandAll'); //展开所有
//            }else{
        var roots=$('#treelist').tree('getRoots'); //得到tree顶级node
        searchTree($('#treelist'),roots, search_content);
//            }
}

easyui 菜单树搜索的更多相关文章

  1. jquery easyui菜单树显示

    目前做了一个easyui项目需要显示多级菜单,菜单配置到数据库中,因此每级菜单都需要到数据库中取,用了jQuery EasyUI方便多了. 效果体验:http://hovertree.com/texi ...

  2. EasyUI Tree 树 ——实现多级别菜单的展示,以及与后台数据的交互

    一 要引入的js css库 <link type="text/css" href="css/base.css" rel="stylesheet& ...

  3. 基于MVC4+EasyUI的Web开发框架经验总结(2)- 使用EasyUI的树控件构建Web界面

    最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...

  4. 使用EasyUI的树控件构建Web界面

    最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...

  5. 第二百一十节,jQuery EasyUI,SearchBox(搜索框)组件

    jQuery EasyUI,SearchBox(搜索框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 本节课重点了解 EasyUI 中 SearchBox(搜索框)组件的使用方法,这个组 ...

  6. (转)基于MVC4+EasyUI的Web开发框架经验总结(2)- 使用EasyUI的树控件构建Web界面

    http://www.cnblogs.com/wuhuacong/p/3669575.html 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开 ...

  7. 蓝桥杯Web:【功能实现】菜单树检索

    [功能实现]菜单树检索 背景介绍 实际工作中很多前端攻城狮都会遇到这样一个需求:在多级菜单树中模糊搜索匹配的菜单项,并显示出来. 本题需要在已提供的基础项目中使用 Vue.js 知识,实现对已提供的二 ...

  8. React + Antd Menu组件实现菜单树

    准备好两个变量,一个用来保存平级菜单列表,一个用来保存遍历后的菜单树. 推荐后端返回平级菜单树,假如菜单比较多,可以直接结合find方法找到菜单,做搜索功能很省事. const [menuList, ...

  9. java实现的可以无限级别添加子节点的菜单树

    网上大部分菜单树,都是单独用js代码来实现的,这样做的缺点是:用户无法动态的设置菜单项,比如,超级管理员可能需要根据每个用户的权限,赋予他们不同的系统功能,不同的功能对应着不同数量的菜单项. 对于此问 ...

随机推荐

  1. Linux新手随手笔记1.6

    RAID磁盘冗余阵列 1.I/O  速度 2.数据安全性  RAID 0 负载均衡.速度乘以二,但是数据安全性不行,任何一块盘损坏数据都会丢失. RAID 1 安全性性提升2倍,任何一个损坏另一个都有 ...

  2. maven打包如何跳过测试

    Maven打包如何跳过测试?正常来说,不应该这样做,因为测试可以避免很多麻烦排除一些不必要的错误,前提是测试足够规范,这里主要指junit测试,如果junit测试有问题的话,将会直接影响到mvn in ...

  3. JS 转换HTML转义符

    JS转换HTML转义符   //去掉html标签 1 2 3 function removeHtmlTab(tab) {  return tab.replace(/<[^<>]+?& ...

  4. python科学计算库numpy和绘图库PIL的结合,素描图片(原创)

    # 导入绘图库 from PIL import Image #导入科学计算库 import numpy as np #封装一个图像处理工具类 class TestNumpy(object): def ...

  5. centos 6.8 设置svn钩子同步至web目录

    1.在web目录创建项目目录 mkdir ./opt/wwwroot/项目名称 2.使用svn检出项目文件 svn checkout svn://localhost:/项目名称 3.设置svn库中钩子 ...

  6. openstack 5大组件之间的关系和基本架构思维导图

    云计算是一种按使用量付费的模式,这种模式提供可用的/便捷的/按需的网络访问,进入可配置的计算资源共享池(资源包括网络/服务器/存储/应用软件和服务),这些资源能够被快速提供,只需投入很少的管理工作或与 ...

  7. 关于 Be 主

    大三在校生 每天不定刷 Leetcode POJ HDU 以及其他算法专题 自己很菜 还没有能力可以帮助别的旁友解决问题 :-( 毕竟有个人每天看着你写代码还是很幸福的事情呢 还是要骄傲夸一下 FH ...

  8. [C++项目]2048控制台游戏

    #include <iostream> #include <windows.h> #include <ctime> using namespace std; ; ; ...

  9. flutter Provide 状态管理篇

    Provide是Google官方推出的状态管理模式.官方地址为: https://github.com/google/flutter-provide 现在Flutter的状态管理方案很多,redux. ...

  10. Kafka简介及使用PHP处理Kafka消息

    Kafka简介及使用PHP处理Kafka消息 Kafka 是一种高吞吐的分布式消息系统,能够替代传统的消息队列用于解耦合数据处理,缓存未处理消息等,同时具有更高的吞吐率,支持分区.多副本.冗余,因此被 ...