使用jquery javascript搜索jstree节点

时间:2013-02-19 14:33:30

标签: jquery jstree

我正在使用jstree插件来构建我的树。我的网页上有一个搜索框,我需要用户能够搜索jstree节点。

<fieldset id="search">

    <input type="text" name="search_field" id="search_field" value="" />
    <button id="search_tree">Search</button>

  </fieldset>

单击搜索时,应展开jstree节点,如果找到则应突出显示节点。如果未找到,则应向用户显示错误,如“未找到”。我的代码扩展了下面的所有节点。有没有一种简单的方法来搜索jstree中的所有节点?

<script type="text/javascript"> 
     $(document).ready(function(){

         $("#search_tree").click(function () {  
    var value=document.getElementById("search_field").value; 
         $("#tree").jstree("search",value);  

     });  

     $("#tree").jstree({  



         "xml_data" : {  

             "ajax" : {  

                 "url" : "jstree.xml" 

             },  

             "xsl" : "nest"


         },  
         "themes" : {  

             "theme" : "classic",  

            "dots" : true,  

             "icons" : true 

         },  

             "search" : {  

                 "case_insensitive" : true,  

                 "ajax" : {  

                     "url" : "jstree.xml" 

                 }  

             },  
              "plugins" : ["themes", "xml_data", "ui","types", "search"] 

         });  



 }); 

</script>

我收到此错误:

Instances [...]为null或不是对象。这是一个jstree错误。任何想法?

1 个答案:

答案 0 :(得分:4)

我已将这段代码添加到我的函数中:

"search" : {  

                 "case_insensitive" : true,  

                 "ajax" : {  

                     "url" : "jstree.xml" 

                 }  

             },  
              "plugins" : ["themes", "xml_data", "ui","types", "search"] 

创建了这个功能,并点击了我的点击按钮:

function myFunction()
{
$(document).ready(function(){

var value=document.getElementById("search_field").value; 

    $("#search_tree").click(function () { 

        $("#tree").jstree("search",value) 
 }); 

 }); 
}