我已经解决了所有部分,可以使用谷歌应用引擎加载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是包含朋友及其ID的对象列表。现在这个自动完成功能无效。任何人都可以帮我找出我做错的地方。
答案 0 :(得分:0)
也许只是你friends
数组的格式错了?
jQuery UI Autocomplete docs表示这些项目应该是包含label
或value
属性的对象,或两者兼而有之。
您的商品代之以id
和name
属性。