1

我已經做了一些搜索,但找不到我的問題的答案。jQuery自動完成在輸入第二個字母后停止

問題:當第一個字母輸入到輸入框中時,我的jQuery自動完成實現工作,但是當第二個字母輸入時,建議消失(就像我輸入了一個不正確的字母)。

我的jQuery代碼:

​​

這裏是傳遞給源(JSON編碼)的數據:

[{"name":"test 2","pic":"\/events\/images\/default\/dp\/micro_placeholder.jpg","id":"60705234"}] 

所以,當我鍵入 「T」 它的工作原理,但我當鍵入一個「e」,所以「te」現在在輸入框中,「測試2」建議消失。

任何人都知道這裏發生了什麼?

謝謝:)

+0

有什麼錯誤? – 2012-08-08 18:02:33

+0

@RicardoLohmann沒有顯示錯誤,只是停止提供建議。試圖填寫其餘的字母,但沒有彈出 – 2012-08-08 18:04:32

回答

0

您使用自動完成必須有對象了label屬性的源陣列,value財產,或兩者(如在文檔中overview page概述)。

var src = <?php echo json_encode($array); ?>; 

$.each(src, function() { 
    this.value = this.name; 
}); 

$(document).ready(function() { 
    $('#invite-connections').autocomplete({ 
     minLength: 0, 
     source: src, 
     focus: function(event, ui) { 
      $('#invite-connections').val(ui.item.name); 
      return false; 
     }, 
     select : function(event, ui) { 
      $('#invite-connections').val(ui.item.name); 
      $('#invite-connections-user-id').val(ui.item.id); 
      $('#invite-connections-submit').show(); 
      return false; 
     } 
    }) 
    .data("autocomplete")._renderItem = function(ul, item) { 
     return $("<li type=\"none\"></li>") 
      .data("item.autocomplete", item) 
      .append("<a><img src=\"" + item.pic + "\" /> " + item.name + "</a>") 
      .appendTo(ul); 
    } 
});​ 

舉例::http://jsfiddle.net/ASwRj/

該「T」和「e」分別工作的原因是因爲每個用戶可以通過添加這些性質中的一種變換的源陣列到一個小部件支持在你的數組的字符串表示物體看起來像:

[object Object] 

沒有任何匹配的屬性,自動完成控件試圖匹配你鍵入到T的字符串表示什麼他反對說,這就是爲什麼你在輸入「s」的那一刻就停止看到結果的原因。

相關問題