2012-01-31 46 views
0

我有一個腳本,它允許顯示谷歌建議:JsFiddle待辦事項myFunction的右後JSONP請求

我想要做的與用戶界面自動完成渲染的第一里項目的功能,所以我這樣做:

$("input#term").keyup(function() { 
    DoMyFunction($('.ui-autocomplete li:first-child a').text(), true); 
}); 

然而,問題在於,keyup --->請求---> xml緩存和由ui自動完成提供的html之間存在一段時間。這意味着我的函數(DoMyFunction)在沒有html列表時被觸發,因此它不起作用。所以我的問題是:在reqeust被緩存和處理後,我如何執行我的功能。設置計時器不會工作,因爲有很多變量需要考慮(即用戶帶寬)。

回答

1

按照該jQuery UI docs,還有,當在建議菜單打開

被觸發open事件你必須做這樣的事情:

$("#term").autocomplete({ 

    source: function(request, response) { 
    // ajax function 
    }, 
    select: function(e, ui){ 
     // 
    } 
    open : function(){ 
     //here you are sure the suggestion menu is opened 
     DoMyFunction($('.ui-autocomplete li:first-child a').text(), true); 
    } 
}); 
+0

謝謝,我以後一定要試一試這上,但現在我給信貸,因爲它是絕對有用的答案 – Youss 2012-01-31 10:00:33

+0

工作就像一個魅力:) – Youss 2012-01-31 11:19:53