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>
你能提供工作的jsfiddle? – Radek 2013-03-10 22:32:06
您確定該值實際上是否設置爲由用戶輸入的搜索文本? – elevine 2013-03-12 13:44:55
@elevine,是的。我更新我的帖子,幷包含search_field文本框。 – user1471980 2013-03-12 13:52:53