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 回答