//树形菜单搜索方法
    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. 前端部署ant+yuicompressor文件压缩+获取版本+SSH公布(部分代码)

    文件压缩: <apply executable="java" parallel="false" failonerror="true" ...

  2. 使用RAP2和Mock.JS实现Web API接口的数据模拟和测试

    最近一直在思考如何对Web API的其接口数据进行独立开发的问题,随着Web API的越来越广泛应用,很多开发也要求前端后端分离,例如统一的Web API接口后,Winform团队.Web前端团队.微 ...

  3. 关于vue build时一直报错

    真鸡儿坑,截图说下是什么错: 像上面这种,一大堆,看不出具体是为什么,然后根据网上搜到的教程注释了webpack.base.conf.js里的某一行: 重新build,成功.......... 醉了啊 ...

  4. sql 语句中as的用法和作用

    我们的Sql语句在很多数据库中都是通用的,比如像Mysql数据库 Access数据库. Oracle数据库.  Sqlite数据库 .甚至在我们的Excel中也可以使用Sql语句. 在我的数据库中有u ...

  5. Nginx访问配置

    配置HTTP协议(使用80默认端口,非HTTPS配置SSL)访问网站 包括RestAPI的配置和RestAPI文档的配置 例如: server { # 配置为HTTP协议 listen ; serve ...

  6. python_正则表达式随笔

    webpage_regex = re.search(r'span_ed7[\s\S]*', dd) [\s\S]* 匹配多行,转义字符 webpage_regex = re.compile('< ...

  7. mysql8.0 Server 在Windows平台中的安装、初始化和远程访问设置

    mysql8.0 server安装 1.下载mysql 8.0 可以到mysql官网下载 https://dev.mysql.com/downloads/mysql 或者如下地址 mysql-8.0. ...

  8. 一、查看MVC4还是MVC5

    一.查看MVC版本找到那个dll.属性.就可以看到版本 二.MVC添加WebAPI Visual Studio 已向项目“Web”添加 ASP.NET Web API 2 的 全部集合 个依赖项. 项 ...

  9. Python——代码汇总

    1.三级菜单 2.Windows启动服务 3.常用的Python实现 4.字典的基本操作

  10. 关系型数据库 VS 非关系型数据库

    一.关系型数据库? 1.概念 关系型数据库是指采用了关系模型来组织数据的数据库.简单来说,关系模式就是二维表格模型. 主要代表:SQL Server,Oracle,Mysql,PostgreSQL. ...