альтернативный способ автозаполнения в приложении facebook - PullRequest
2 голосов
/ 13 сентября 2011

Я решил все части и могу загрузить переменную javascript с помощью Google App Engine.Теперь я застрял в автозаполнении пользовательских данных.Вот мой скрипт

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 - список объектов, содержащий друзей и их идентификаторы.Теперь это автозаполнение не работает.Кто-нибудь может мне помочь выяснить, где я делаю неправильно.

1 Ответ

0 голосов
/ 07 февраля 2012

возможно, это просто формат вашего массива friends неверен?

jQuery UI Autocomplete docs говорят, что элементы должны быть объектами со свойствами label или value,или оба.

Вместо этого у ваших предметов есть свойства id и name.

...