2010-09-02 186 views
4

我們在試圖讓一個非常簡單的腳本工作(以及其他人似乎都成功)的嘗試中投入了大量時間。最後,我們希望使用JQuery創建一個自動提示文本框,將選定文本的值寫入隱藏字段,但這個問題與此無關,因爲即使是第一步失敗了(但工作示例代碼非常受歡迎)。JQuery自動完成:formatItem不起作用

由於一些不清楚的原因,formatItem(和其他格式化函數)沒有執行。我們有什麼誤解?

任何幫助,高度讚賞。

下面的代碼(剝去不需要的例子任何東西):

<html> 
<head> 
<title>Why o why?</title> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js"></script> 
    <script type="text/javascript"> 
    $(function() { 
     var s = ["a", "b", "ab"]; 
     $("#txtSearch").autocomplete({ 
      source: s, 
      formatItem: function(row, i, n) { return "whatever" }, 
      minLength: 1 
     }); 
    }); 
    </script> 
</head> 
<body> 
    Search <input id="txtSearch" type="text" /> 
</body> 
</html> 

自動提示功能,這樣在任何瀏覽器中工作,但沒有瀏覽器觸發formatItem。

+0

你好,不完全確定這個formatItem應該如何觸發 - 這不是jQueryUI的自動完成事件之一。 formatItem應該做什麼?可能您需要觸發的事件是「開放」,當出現建議框時會觸發事件。如果我錯過了這一點,請提供更多詳細信息。謝謝! – lnrbob 2010-09-02 18:35:25

+0

正如Floyd Pink在下面寫道的,我們一直在錯誤的軌道上,將舊插件與新的捆綁版本混淆。 'formatItem'應該格式化建議列表,但另一個更新的方法也會這樣做。不管怎麼說,還是要謝謝你!! – Olaf 2010-09-02 21:30:51

回答

10

這些方法在綁定到jQuery UI的版本中都被棄用。 檢查這migration guide瞭解更多關於如何現在可以實現舊formatItem,formatMatch等。

+0

就是這樣。謝謝一堆! – Olaf 2010-09-02 21:28:34