簡體   English   中英

快速自動完成下拉式選單

[英]Fast autocomplete for drop-downs

我正在使用JQuery的自動完成插件,但是它並不快,而且與我的網站無關。 我想要像www.hotels.com這樣的自動完成功能。 如何實現這種自動完成功能? 有插件嗎?

Hotels.com使用自定義JSON請求/響應。 如果您打開螢火蟲,則會看到去電:

搜索“倫敦”

此調用會在keyup上立即觸發,並返回JSON數據:

來自Hotels.com的回復

除此之外,沒有什么特別的花哨的事情,只有具有准確數據庫搜索功能的高性能服務器。 不過,Javascript中沒有自動完成功能。

因此,您寧願使用下拉過濾器而不是下拉自動完成功能? 例如,當您鍵入“ foo”時,您是否希望列出“ foobar”,“ afooba”和“ bazfoo”,而不是僅像“ foobar”和“ foobaz”這樣的起始匹配項?

如果是這樣的話,我可以建議Quickselect使用水銀算法中或的FlexSelect使用的Liquidmetal算法中。 值得一提的是,我大約一年前都玩過,決定繼續使用最后一個,因為更好地進行自定義使其與其他jQuery插件(例如Validator和qTip)兼容。

您喜歡www.hotels.com的什么方面? 您想將哪些數據投影到自動完成中? 這些數據從哪里來? 在考慮實現細節之前,您需要回答這些問題。

好東西要花錢。 在這個特定的基准測試中,如果您看起來足夠近,您將能夠看到hotels.com使用Yahoo JS框架和不同的自定義功能...

自動完成的工作有80%在后端完成。 后端需要非常快速地返回查詢響應。 我懷疑jquery是否是您的問題。 使用firebug的“ net”面板了解往返時間以及服務器延遲是多少。 解決這個問題。 其余的很容易。 FWIW,我非常幸運地使用了GWT的意見箱直接輸入到oracle數據庫中(除非常薄的傳遞功能之外,我省去了大多數Web層,以獲得了我想要的響應能力)。 在約50毫秒內回復用戶

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM