我已经解决了所有部分,可以使用谷歌应用引擎加载 javascript 变量。现在我陷入了自动完成自定义数据的困境。这是我的脚本
var friends=[]
{% for name in user_names %}
vals={"id":"{{ name.id }}","name":"{{ name.user }}"}
friends.push(vals)
{% endfor %}
$(function() {
alert(friends);
$( "#suggest1" ).autocomplete({
minLength: 0,
source: friends,
focus: function( event, ui ) {
$( "#suggest1" ).val( ui.item.name );
return false;
},
select: function( event, ui ) {
$( "#suggest1" ).val( ui.item.name );
$( "#suggest1-id" ).val( ui.item.id );
return false;
}
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.name + "</a>" )
.appendTo( ul );
};
});
和html代码:
<div class="section" id="user-section">
<input id='suggest1' />
<input type="hidden" id="suggest1-id"/>
</div>
friends 是包含 friend 及其 id 的对象列表。现在这个自动完成不起作用。谁能帮我找出我哪里做错了。
最佳答案
也许只是你的friends
数组的格式不对?
jQuery UI Autocomplete docs假设这些项目应该是具有 label
或 value
属性或两者的对象。
您的项目具有 id
和 name
属性。
关于javascript - 在 Facebook 应用程序中自动完成的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7407701/