JQuery UI Автозаполнение с использованием статического файла JSON в качестве источника

я используюJQuery-щ-автозаполнение (на самом деле,catcomplete прикреплен к окну поиска). Это работает очень хорошо, пока я использую статический массив элементов в качестве источника.

Из соображений производительности я не хочу, чтобы автозаполнение отправляло запросы Ajax к PHP-скрипту, делая% как% запросов к MySQL. Так,Я сгенерировал файл JSON из БД, содержащий каждый элемент, который может быть найден в поиске (около 20-30 элементов, из многих таблиц SQL). я бы хотелчитать / анализировать файл только один раз, когда страница загружается или когда пользователь начинает вводить в поле поиска.

Я застрял здесь. Я пытался прикрепить Ajax-вызов к .catcomplete () (код ниже). Я также попытался сделать вызов getJSON и создать .catcomplete в его методе success ().Оба способа молча терпят неудачу.

Я новичок в JS / jQuery, мне это уже нравится, но я немного растерялся. Любая помощь / решение / указатель на полезный документ будет принята с благодарностью.

Большое спасибо!

Вот HTML: (очень просто)

<form id="searchform" method="get" role="search">
    <input id="searchfield" />
    <input type="submit" name="go" value="go!" />
</form>

Вот мой код JS:

$( "#searchfield" ).catcomplete({
delay: 0,
source: function( request, response ) {
    $.ajax({
        url: "/path/to/cache.json",
        dataType: "json",
        data: {term: request.term},
        success: function(data) {
            response($.map(data, function(item) {
                return {
                    label: item.label,
                    category: item.category,
                    desc: item.desc
                };
            }));
        }
    });
},
minlength:0
});

Пример данных JSON:

[
{ label: "lbl1", category: "cat1", desc: "desc1"}, 
{ label: "lbl2", category: "cat1", desc: "desc2"}, 
{ label: "lbl3", category: "cat1"}
]

Ответы на вопрос(2)

Ваш ответ на вопрос