Skip to main content
 首页 » 编程设计

javascript之在 Facebook 应用程序中自动完成的替代方法

2025年05月04日27cmt

我已经解决了所有部分,可以使用谷歌应用引擎加载 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 属性。