jsTree仅在“文件”或“文件夹”标题中搜索

时间:2012-01-06 22:13:44

标签: search jstree

我有一个2层的jsTree。第一层是“文件夹”。第二层是“文件”。是否可以仅搜索文件标题或文件夹标题?不是整个jstree。

1 个答案:

答案 0 :(得分:0)

看起来你不能使用标准的jsTree search plugin

来做到这一点

好消息,你可以write your own search function。这是一段摘录。它显示了使用自定义函数搜索由空格分隔的多个单词:

  

我需要搜索由空格分隔的多个单词,所以我给出了   你我的功能添加到搜索插件(目前是搜索引擎   插件只搜索一个单词)。

/*
 * jsTree search plugin
 * Enables both sync and async search on the tree
 * DOES NOT WORK WITH JSON PROGRESSIVE RENDER
 */
(function ($) {

    $.expr[':'].jstree_contains_multi = function(a,i,m){

        var word, words = [];
        var searchFor = m[3].toLowerCase().replace(/^\s+/g,'').replace(/\s+$/g,'');
        if(searchFor.indexOf(' ') >= 0) {
            words = searchFor.split(' ');
        }
        else {
            words = [searchFor];
        }
        for (var i=0; i < words.length; i++) {
            word = words[i];
            if((a.textContent || a.innerText || "").toLowerCase().indexOf(word) >= 0) {
                return true;
            }
        }
        return false;

    };

    $.expr[':'].jstree_contains = function(a,i,m){

        return (a.textContent || a.innerText || "").toLowerCase().indexOf(m[3].toLowerCase())>=0;

    };