2012-02-20 55 views
1

我在編寫一個腳本,需要知道自動完成下拉列表是否包含任何結果。這是我目前所擁有的,但由於某些原因,IF不工作(即,內部代碼未被觸發)。檢測jQuery自動完成是否有結果

if($("ul.ui-autocomplete li").length == 0){ 
    $('div#autocomplete').replaceWith('<h2>' + $(this).val() + '</h2>'); 
    return false; 
} 

看起來好像仍然有結果,它們只是隱藏起來。那麼,如何查看是否有結果或下拉自動完成列表是否可見? [上檢測jQuery用戶界面自動完成沒有結果]的

+1

可能重複(http://stackoverflow.com/questions/4718968/detecting-no-results-on-jquery-ui-autocomplete) – 2012-02-20 22:06:03

+0

你說得對,這工作! – Adam 2012-02-20 22:39:55

回答

-2
//in the open event: 
open: function(event,ui){ 
    var len = $('.ui-autocomplete > li').length; 
    console.log(len < 1); 
} 
+1

-1:沒有結果時不會調用「open」:http://jsfiddle.net/VyAhU/。事實上,只需閱讀自動完成文檔就可以發現這一點。 – 2012-02-20 22:10:00