您使用自動完成必須有對象了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」的那一刻就停止看到結果的原因。
有什麼錯誤? – 2012-08-08 18:02:33
@RicardoLohmann沒有顯示錯誤,只是停止提供建議。試圖填寫其餘的字母,但沒有彈出 – 2012-08-08 18:04:32