1

jsTreeでテキストを検索するために以下の関数を作成しました。

検索テキストが見つかった場合は、ノードを強調表示します。見つからない場合は、「検索文字列のノードがありません。再試行してください」という文字列でユーザーに警告します。

jsTreeにない検索テキストを入力すると、アラートが表示されます。ノードの有効なテキストで再度検索しましたが、ブラウザウィンドウにアラートが表示されます。

何か案は?

<script type="text/javascript"> 
function myFunction()
{
    $(document).ready(function(){
        var value=document.getElementById("search_field").value;    
        var searchResult;
        var AlertsOn = false

        $("#search_tree").click(function () { 
            searchResult=$("#tree").jstree("search",value);
                if ($(searchResult).find('.jstree-search').length == 0) 
                {
                    AlertsOn = true;
                }
                else 
                {
                    AlertsOn = false;
                }

                if(AlertsOn == true){
                    alert($(searchResult).find('.jstree-search').length);
                }       
        });
        document.getElementById("search_field").value='';
    }); 
}
</script>

html:

<fieldset id="search">

    <input type="text" name="search_field" id="search_field" value="" />
    <button id="search_tree" onclick="myFunction()"> Search</button>

  </fieldset>
4

1 に答える 1

0

jqueryでこの呼び出しを実行して、ページをリロードし、アラートボックスを再初期化できます。

location.reload();
于 2013-03-12T14:16:02.410 に答える