2011-06-09 78 views
1

我一直在自定義JQuery UI的自動完成,以確保用戶只提交來自geonames數據源的數據。幫助與JQuery的自動完成 - 幾乎完成

DEMO

在選擇一個城市的名字我也找回了國家,緯度,並從Web服務GEONAMES經度和它們添加到隱藏輸入。

爲了確保人們從建議列表中選擇一個城市,如果您從建議列表中單擊,我將清除輸入。

(我也做了一些驗證在PHP)

問題:在點擊了建議名單後,它不會在你,除非你按空格鍵輸入城市名稱出現。我不確定是什麼導致了這一點。另外,當你用空格鍵入城市時,有時建議列表會消失。

有人可以分享一些指導嗎?我也歡迎任何其他建議!

+1

它在你的提琴再次出現,我(的Safari 5.0.5雪豹) – colinross 2011-06-09 21:41:31

+0

感謝確認!我使用的是Chrome或Firefox – CyberJunkie 2011-06-09 21:52:52

回答

1

自動完成插件曾經有一個名爲「mustMatch」的選項 - 它做了你想要的但是自從被刪除之後。

我相信按照以下指示就可以重新實現它:

How to implement "mustMatch" and "selectFirst" in jQuery UI Autocomplete?

另一種選擇:

取代你的變化(修改後提琴)或關閉(原小提琴)與下面的醜陋解決方法:

 change: function (event, ui) { 
      //if the value of the textbox does not match a suggestion, clear its value 
      if ($(".ui-autocomplete li:textEquals('" + $(this).val() + "')").size() == 0) { 
       $(this).val('####');   
       $(this).autocomplete("search"); 
       $(this).val(''); 
       $(this).autocomplete("close");      
      } 
     } 
+0

哇,是的,這真的很煩人。我可以重現您的問題,但不明白爲什麼會這樣做或找到解決方法。即使嘗試編輯autocomplete.js也沒有運氣。 – mutex 2011-06-09 23:46:49

+1

好吧,找到了一個醜陋的解決方法;-) – mutex 2011-06-09 23:58:42

+0

謝謝!它似乎只與'$(this).autocomplete(「搜索」);'不知道爲什麼大聲笑 – CyberJunkie 2011-06-10 16:58:21