2009-12-29 88 views
0

我正在使用JQuery的自動完成插件,但速度並不快,也與我的網站無關。我想要一個自動完成,如www.hotels.com。我如何實現這種類型的自動完成?有插件嗎?快速自動完成下拉菜單

+1

我猜你必須從頭開始構建它。您可以使用Firebug或Charles來查看ajax請求和響應主體是如何模擬這種行爲的,但我嚴重懷疑是否有專門的插件。但是,正如我的妻子經常提醒我的那樣,我很有可能犯錯。 – inkedmn 2009-12-29 22:19:49

+3

我們如何知道什麼是和不相關的網站,而不知道你想要達到什麼目的。 「我想要這樣」對你的問題描述得非常差。 – spender 2009-12-29 22:25:49

+0

@spender的+1 – 2009-12-29 22:33:22

回答

2

Hotels.com使用自定義的JSON請求/響應。如果你打開螢火蟲,你會看到呼出:

Search for "London"

該呼叫在KEYUP立即解僱,並返回JSON數據:

Response from Hotels.com

沒有什麼特別花哨的事情否則,只需要一臺高性能的服務器並進行準確的數據庫搜索Javascript中沒有自動完成功能。

1

因此,你寧願要一個下拉式過濾器,而不是下拉式自動完成?例如。當你輸入「foo」時,你想獲得「foobar」,「afooba」和「bazfoo」,而不是像「foobar」和「foobaz」這樣的首發比賽?

如果是這樣,那麼我可以建議Quickselect使用Quicksilver算法或Flexselect使用Liquidmetal算法。值得一提的是,大約一年前,我一直在玩這兩款遊戲,並決定繼續最後一款遊戲,因爲它可以更好地定製,以便與其他jQuery插件(例如Validator和qTip)兼容。

0

關於www.hotels.com,您喜歡什麼?您要將哪些數據投影到自動填充中?這些數據從哪裏來?在考慮實施細節之前,您需要回答這些問題。

0

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

0

80%的自動完成工作在後端完成。後端需要非常快速地返回查詢響應。我懷疑jquery是否是你的問題。使用螢火蟲的'網絡'面板來了解有多少往返時間,以及服務器延遲是多少。解決這個問題。其餘的很容易。 FWIW,我用GWT的直接進入oracle數據庫的建議箱運行得非常好(除了非常簡單的透傳以獲得我期待的響應能力外,我沒有使用大多數Web層)。在大約50ms內回覆給用戶

相關問題