JQuery UI автозаполнение НЕ поиска при использовании удаленного URL, который возвращает JSON - PullRequest
0 голосов
/ 15 июня 2011

Я использую последнюю версию jQuery ui с автозаполнением (версия в соответствии с файлом js: jQuery UI Autocomplete 1.8.13).Я успешно развернул статическое автозаполнение, которое выглядит примерно так: (Версия 1)

$( "#Vendors" ).autocomplete({ 
source: [{ "id": "3", "value": "Ven 03" }, { "id": "1", "value": "Ven 01" }, { "id": "2", "value": "Ven 02"}]
});

Но когда я делаю то же самое динамически, используя удаленный файл в моем веб-приложении C # MVC2, проблема начинается.Вот код: (Версия 2)

$( "#Vendors" ).autocomplete({ source: "/common/lookup?id=vendor" })

Версия 2 предлагает данные с предположением, и я убедился, что генерирование JSON такое же, как упомянуто в примере Версии 1.Но когда я начинаю печатать в текстовом поле - автоматический поиск НЕ выполняется, как в версии 1.

Короче говоря, фильтрация элементов по типам пользователей недоступна в версии URL.Означает ли это, что я каждый раз запрашиваю свои данные и выполняю эту фильтрацию на стороне сервера?Разве данные не кэшируются?

Помогите, пожалуйста, я застрял на этом примерно один день!

Правка 1: Я согласился с тем фактом, что он выиграл 'Не кэшируйте результаты поиска и отправляйте их на сервер для поиска каждого нового термина.

Редактировать 2: Что-то полезное для MVC - Расширение MVC для jQuery ui auto-complete:

http://www.codevoyeur.com/Articles/10/ASP.NET-MVC-HtmlHelper-Extensions-for-jQuery-AutoComplete.aspx

1 Ответ

1 голос
/ 15 июня 2011

используйте это:

$( "#Vendors" ).autocomplete({ source: "/common/lookup" })

переменная поиска: термин вместо идентификатора,Ajax-запрос выглядит так: http://localhost/common/lookup?term=search_string

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