2011-10-05 124 views
3

我工作過jQueryUI的自動完成JSONP例子在這裏:http://jqueryui.com/demos/autocomplete/#remote-jsonpjQueryUI的自動完成射擊停止

即使是在自己的演示中,我已經成功地使這種錯誤發生;不幸的是我不能一致重現它。

如果我開始在文本框中鍵入內容,它會自動完成。
如果我不選擇一個結果,然後「模糊」控件(專注於其他內容),然後返回到控件並重新開始輸入,自動完成「源」函數(有時)再也不會再發生了,直到我刷新頁面。 我已經通過將一些日誌代碼放入源代碼函數來驗證這一點;該函數剛停止被調用。 我無法確定它發生的確切情況。

這是一個已知的錯誤嗎?下一個版本中可能正在修復某些內容?

編輯:粗體下面的語句,因爲這是問題的meatiest部分,響應的人downvoting原文:
有什麼辦法「重置」自動完成對象,以便它開始再次合作這個案例?我試着在對象失去焦點時再次運行我的$(「#foo」)。autocomplete(...),但這沒有幫助。

謝謝!

+2

爲什麼這個downvoted保存源值?我很好奇,如果有人遇到這個問題。 –

+1

這很有趣。我有時可以複製錯誤,其他時間不可以。 –

+0

嗨,我有一個像你這樣的問題,但我可以一貫地重現它。轉到http://jqueryui.com/demos/autocomplete/並鍵入java,然後按ESC鍵,SHIFT + HOME並重新鍵入java,第二次沒有任何事情發生! –

回答

1

你可以做這樣的事情:

$('input.autocomplete').live('focus',function(){ 

    $(this).autocomplete({ 
     ...your autocomplete options 
    }); 
}); 

如果你的來源是Ajax調用或方法,我建議在一個變量

+0

我確實嘗試過這樣的事情。並沒有重新控制這個控制。我可能會嘗試着重於從DOM中完全刪除控件並重新添加它,但這似乎是一個粗略的解決方案。 – Josh

+1

..就像我說的那樣,它是不一致的,我不確定這些行星在發生時究竟是如何對齊的。 :(對於概念驗證,事物的當前狀態已經足夠好了,但對於生產代碼來說還不夠好。 – Josh