我正在尝试使用jquery自动完成和自定义html在我的下拉列表中添加图像。由于某种原因,当我设置图像时,自动完成看起来很好,当我输入一个名称(我看到图片和标签就好了),但当我向下箭头选择,我得到一个错误,说ui.item是未定义焦点和选择事件。如果我遵循示例页面中显示的标准格式,一切正常。
(来自jquery doc的那个 - 按预期工作)
.append( "<a>" + item.label + "<br>" + item.value + "</a>" )
但是当我用这个来显示图像时,自动完成列表会显示图片,但焦点和选择事件不起作用
$( "#friends" ).autocomplete({
minLength: 2,
source: friend_data,
delay: 0,
autofocus: true,
focus: function(event, ui) {
$( "#friends" ).val( ui.item.label );
return false;
},
select: function( event, ui ) {
$( "#friends" ).val( ui.item.label );
return false;
}
})
.data( "autocomplete")._renderItem = function( ul, item ) {
var fb_pic_path = '<img src="http://graph.facebook.com/' + item.value + '/picture?type=square">' ;
console.log(fb_pic_path);
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( fb_pic_path + item.label )
.appendTo( ul );
};
答案 0 :(得分:2)
啊......想通了。需要锚。
.append( "<a>" + fb_pic_path + item.label + "</a>" )
现在工作正常。