2013-03-08 25 views
1

我已經構建了下面的函數來搜索jsTree中的文本。從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> 
+1

你能提供工作的jsfiddle? – Radek 2013-03-10 22:32:06

+0

您確定該值實際上是否設置爲由用戶輸入的搜索文本? – elevine 2013-03-12 13:44:55

+0

@elevine,是的。我更新我的帖子,幷包含search_field文本框。 – user1471980 2013-03-12 13:52:53

回答

0

我可以做jQuery的這一呼籲重新加載頁面重新初始化警告框:

location.reload();