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>