我已经构建了下面的函数来搜索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>