如何使用对象数组作为jQuery UI AutoComplete的源

Jie*_*eng 12 jquery jquery-ui

如果我有像这样的对象数组

var arrLinks = [
    { key: 1, url: "http://google.com" },
    { key: 2, url: "http://yahoo.com", title: "Yahoo" },
    { key: 2, url: "http://microsoft.com" }
];
Run Code Online (Sandbox Code Playgroud)

我可以将它用作自动完成的来源吗?我尝试在http://jqueryui.com/demos/autocomplete/#custom-data中实现,但没有得到它http://jsfiddle.net/mvNNj/

kar*_*m79 15

你需要:

1 - 实际上在测试页面上包含jQuery + UI.

2 - 合并使用Autocompleter用于查找匹配项的"标签":

$(function() {
    var arrLinks = [
        {
        key: 1,
        url: "http://google.com",
        label: 'google'},
    {
        key: 2,
        url: "http://yahoo.com",
        title: "Yahoo",
        label: 'yahoo'},
    {
        key: 2,
        url: "http://microsoft.com",
        label: 'microsoft'}
    ];
    $("input[name=url]").autocomplete({
        source: arrLinks
    }).data("autocomplete")._renderItem = function(ul, item) {
        return $("<li>").data("item.autocomplete", item).append("<a>" + item.url + "</a>").appendTo(ul);
    };
});
Run Code Online (Sandbox Code Playgroud)

你的测试页面,正常工作.