//树形菜单搜索方法
    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. java中的超类是什么

    超类(SuperClass) :用java术语来讲,被继承的类称为超类(SuperClass),也有叫做父类,继承的类称为子类.

  2. QPalette

    Help on class QPalette in module PyQt5.QtGui: class QPalette(sip.simplewrapper) |  QPalette() |  QPa ...

  3. Centos7修改yum源

    1. 备份本地yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak 2.获取阿里yum源配置文 ...

  4. MyEclipse不自动编译问题

    没图,别找了... 我在MyEclipse上从SVN中导项目,导下的项目跑不起来,发现tomcat的classes中是空文件夹. 以下是在网上找的其他方法: 1.确保:Project->buil ...

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

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

  6. CountDownLatch类实现同步

    首先我们看一个普通的多线程代码 class MyThread implements Runnable { @Override public void run() { System.out.printl ...

  7. Android一些问题

    1.wait()与sleep() wait()方法会释放占有的对象锁,当前线程进入等待池,释放cpu, 而其他正在等待的线程即可抢占此锁,获得锁的线程即可运行程序: sleep()方法则表示,当前线程 ...

  8. MT【327】两道不等式题

    当$x,y\ge0,x+y=2$时求下面式子的最小值:1)$x+\sqrt{x^2-2x+y^2+1}$2)$\dfrac{1}{5}x+\sqrt{x^2-2x+y^2+1}$ 解:1)$P(x,y ...

  9. python学习日记(包——package)

    简述——包 包是一种通过使用‘.模块名’来组织python模块名称空间的方式. 注意: 1. 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都 ...

  10. shc & unshc 安装

    shc & unshc 安装 shc 安装 git clone https://github.com/neurobin/shc.git cd shc ./configure make & ...