博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ztree根据关键字模糊搜索
阅读量:5301 次
发布时间:2019-06-14

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

html页面结构:

    s核心代码

     对于一个结点,它是否需要显示,不仅仅只看它是否包含搜索关键字,还需要看它的父结点和子结点是否包含关键字,只有当父结点和子结点都不包含搜索关键字,该结点才需要隐藏

    //树形查询    $('#search').click(function(){        var ztreeObj = $.fn.zTree.getZTreeObj("ztreeObj");        var keyword=$("#keyword").val();        searchZtree(ztreeObj,keyword)    });
    //ztree查询var hiddenNodes = [];function searchZtree(ztreeObj,ztreeInput){  //显示上次搜索后隐藏的结点  ztreeObj.showNodes(hiddenNodes);  function filterFunc(node){      var keyword=ztreeInput;      //如果当前结点,或者其父结点可以找到,或者当前结点的子结点可以找到,则该结点不隐藏      if(searchParent(keyword,node) || searchChildren(keyword,node.children)){          return false;      }      return true;  };  //获取不符合条件的叶子结点  hiddenNodes=ztreeObj.getNodesByFilter(filterFunc);  //隐藏不符合条件的叶子结点  ztreeObj.hideNodes(hiddenNodes);}/** * 查找子结点,如果找到,返回true,否则返回false-----ztree查询时使用 */function searchChildren(keyword,children){  if(children == null || children.length == 0){      return false;  }  for(var i = 0;i < children.length;i++){      var node = children[i];      if(node.name.indexOf(keyword)!=-1){          return true;      }      //递归查找子结点      var result = searchChildren(keyword,node.children);      if(result){          return true;      }  }  return false;}/** * 查找当前结点和父结点,如果找到,返回ture,否则返回false */function searchParent(keyword,node){    if(node == null){        return false;    }    if(node.name.indexOf(keyword)!=-1){        return true;    }    //递归查找父结点    return searchParent(keyword,node.getParentNode());}

     参考链接:

    转载于:https://www.cnblogs.com/wuss/p/11088918.html

    你可能感兴趣的文章
    idea 快捷键
    查看>>
    SimpleDateFormate的使用
    查看>>
    菜鸟运维笔记:Windows上用Xshell管理你的云主机
    查看>>
    JavaScript中的this
    查看>>
    Activity生命周期
    查看>>
    jsp
    查看>>
    OpenNI / NITE的Stable版更新
    查看>>
    03 基本数据结构 - 栈
    查看>>
    Hyper-V虚拟机上安装一个图形界面的Linux系统
    查看>>
    微信小程序之随笔
    查看>>
    每秒处理10万高并发订单的乐视集团支付系统架构分享
    查看>>
    Lua_02
    查看>>
    ios蓝牙详解
    查看>>
    安装MySQL5.7.18遇到的坑
    查看>>
    React Native在Android平台运行gif的解决方法转载
    查看>>
    Mybatis RowBounds 是逻辑分页
    查看>>
    Nginx缩略图和Fastdfs整合以及image_filter配置,7点经验结论和5个参考资料
    查看>>
    hdu 3341(ac自动机+状态压缩)
    查看>>
    hdu 1565(状态压缩基础题)
    查看>>
    51单片机之蓝牙遥控小车_效果展示+单片机知识+完整蓝牙电车代码
    查看>>