2013-02-19 61 views
4

我正在使用jstree插件來構建我的樹。我在我的網頁中有一個搜索框,我需要用戶能夠搜索jstree節點。使用jquery javascript搜索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> 

我得到這個錯誤:

實例[...]爲空或不是一個對象。這是一個jstree錯誤。有任何想法嗎?

+2

你谷歌? http://www.jstree.com/documentation/search – Johan 2013-02-19 14:36:09

+0

@Johan,是的,我看着這個插件。我修改了我的帖子。仍然出現錯誤。有任何想法嗎? – user1471980 2013-02-19 15:53:01

回答

3

我加入這一段代碼到我的功能:

"search" : { 

       "case_insensitive" : true, 

       "ajax" : { 

        "url" : "jstree.xml" 

       } 

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

創造

此功能,並與我的點擊按鈕assoicated:

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

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

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

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

}); 
}