Как я могу использовать массив объектов в качестве источника для jQuery UI AutoComplete - PullRequest
12 голосов
/ 12 января 2011

Если у меня есть массив объектов типа

var arrLinks = [
    { key: 1, url: "http://google.com" },
    { key: 2, url: "http://yahoo.com", title: "Yahoo" },
    { key: 2, url: "http://microsoft.com" }
];

Могу ли я использовать его в качестве источника для автозаполнения? Я попытался реализовать следующее http://jqueryui.com/demos/autocomplete/#custom-data, но не получил http://jsfiddle.net/mvNNj/

1 Ответ

15 голосов
/ 12 января 2011

Вам необходимо:

1 - на самом деле включить jQuery + UI на тестовую страницу.

2 - включить использование «меток», которые автозаполнение использует для поиска совпадений:

$(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);
    };
});

Ваша тестовая страница, работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...