在Facebook应用程序中自动完成的替代方式

时间:2011-09-13 19:58:21

标签: javascript python google-app-engine encoding autocomplete

我已经解决了所有部分,可以使用谷歌应用引擎加载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的对象列表。现在这个自动完成功能无效。任何人都可以帮我找出我做错的地方。

1 个答案:

答案 0 :(得分:0)

也许只是你friends数组的格式错了?

jQuery UI Autocomplete docs表示这些项目应该是包含labelvalue属性的对象,或两者兼而有之。

您的商品代之以idname属性。

相关问题