easyui的tree之模糊查询

在不改动原有tree的前提下,添加搜索功能,增加一个input提供搜索关键字,一个div显示与tree节点相匹配的text
            <div>
                <input id="kw" οnkeyup="getContent(this,'tree_menu');" class="search_input" style="width: 250px;" />
                <div id="append" style="background-color: white;width: 250px;border:1px solid #95b8e7" ></div>
            </div>
            <ul id="tree_menu" class="easyui-tree"></ul>
下面是javascript代码
        $('#tree_menu').tree({
            url: "DataList.ashx",
            prerendered: false,
            cascadeCheck: true,
            checkbox: false,
            onClick: function (node) {
                if (node.id != "" && node.id != undefined) {
                    getLivePlay(node.attributes.detlineid);
                }
            },
        });
        var treeid;
        var textid;
  
  
        //公共方法         var dojob = function () {             $("#" + textid).blur();     //失去焦点事件             var node = $("#" + treeid).tree('getChildren');    //获取Tree的所有节点             //$("#" + treeid).tree('expandAll', node.target);    //展开所有节点             var value = $(".addbg").text();        //获取文本框输入的内容
            //查找相应节点并滚动到该节点,高亮显示             for (i = 0; i < node.length; i++) {                 //var treeId = node[i].id;                 var treeName = node[i].text;                 //找到相应的设备                 if (treeName.indexOf(value) >= 0) {                     if (treeName == value) {                         //var nodes = $("#" + treeid).tree('find', treeId);   //找到当前的节点                         //$("#" + treeid).tree('scrollTo', node[i].target);     //滚动到当前节点                         $("#" + treeid).tree('select', node[i].target);       //高亮显示                         $("#" + treeid).tree('expand', node[i].target);       //高亮显示                         var p = $("#" + treeid).tree('getParent', node[i].target);       //高亮显示getParent                         $("#" + treeid).tree('expand', p.target);       //高亮显示                     }                 }             }             $("#" + textid).val(value);    //将选择的设备显示到搜索框中             $("#append").hide().html("");   //隐藏下拉框         }
    //输入事件     function getContent(obj, idtree) {         treeid = idtree;         textid = obj.id;         //获取tree的所有节点         var nodes = $("#" + treeid).tree('getChildren');         //获取输入的值         var kw = jQuery.trim($(obj).val());         if (kw == "") {             $("#append").hide().html("");             return false;         }         var html = "";         //匹配并动态加载到下拉框中         for (i = 0; i < nodes.length; i++) {             var treeId = nodes[i].id;             var treeName = nodes[i].text;
            if (treeName.indexOf(kw) >= 0) {                 //动态加载下拉框和数据                 html = html + "<div style='width:200px;' class='item' οnmοuseenter='getFocus(this)' onClick='getCon(this,treeid);'>" + treeName + "</div>";             }         }         if (html != "") {             $("#append").show().html(html);         } else {             $("#append").hide().html("");         }     }     //获取焦点事件     function getFocus(obj) {         $(".item").removeClass("addbg");         $(obj).addClass("addbg");     }     //单击事件     function getCon(obj, treeid) {         $("#" + textid).blur();     //失去焦点事件         var node = $("#" + treeid).tree('getChildren');    //获取Tree的所有节点         //$("#" + treeid).tree('expandAll', node.target);    //展开所有节点         var value = $(obj).text();        //获取文本框输入的内容
        //查找相应节点并滚动到该节点,高亮显示         for (i = 0; i < node.length; i++) {             //var treeId = node[i].id;             var treeName = node[i].text;             //找到相应的设备             if (treeName.indexOf(value) >= 0) {                 if (treeName == value) {                     //var nodes = $("#" + treeid).tree('find', treeId);   //找到当前的节点                     //$("#" + treeid).tree('scrollTo', node[i].target);     //滚动到当前节点                     $("#" + treeid).tree('select', node[i].target);       //高亮显示                     $("#" + treeid).tree('expand', node[i].target);       //高亮显示                     var p = $("#" + treeid).tree('getParent', node[i].target);       //高亮显示getParent                     $("#" + treeid).tree('expand', p.target);       //高亮显示                 }             }         }         $("#" + textid).val(value);    //将选择的设备显示到搜索框中         $("#append").hide().html("");   //隐藏下拉框     }
详细参考:http://blog.csdn.net/zlts000/article/details/47959173

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值