7

jstreeプラグインを使用してツリーを構築しています。Webページに検索ボックスがあり、ユーザーが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>

このエラーが発生します:

インスタンス[...]がnullであるか、オブジェクトではありません。jstreeエラーです。何か案は?

4

1 に答える 1

6

このコードを関数に追加しました。

"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) 
 }); 

 }); 
}
于 2013-02-19T17:04:25.423 に答える