我刚刚接触了dynatree,自定义样式和ajax调用以填充树。一切都很棒。

但是,然后我需要向节点添加过滤功能,就像这里:http://fancytree.googlecode.com/hg-history/ac202f4b6cba34b240e4cad294e2283e7272fbeb/demo/sample-ext-filter.html

不幸的是,这是为fancytree,而不是dynatree。我花了大约5个小时来尝试让我的代码使用fancytree而不是dynatree,但由于无法正常工作,错误消息乱码,文档令人震惊,而且几乎没有什么用处,我正处于极大的沮丧中。关于它的互联网。

我宁愿坚持使用dynatree,它也可以工作。有什么方法可以代替在dynatree中实现fancytree示例中显示的过滤器?我实在是一个JavaScript新手,无法理解代码正在尝试执行的操作。

最佳答案

请尝试以下方法:

文本框HTML:

 Filter : <input type="text" name="filter" id="filter" />


JavaScript:

      $('#filter').keypress(function() {
            if($(this).val().length >=2 )
                {
                    var $input = $(this);
                    $(".dynatree-title").each(function(){
                        if($(this).text().toLowerCase().indexOf($input.val().toLowerCase()) >= 0) {
                            $(this).html("<font color='blue'>"+$(this).text() +"</font>");
                            alert($(this).text());
                        }
                    });
                }
        });

07-24 21:04