автозаполнение jquery - определение списка - PullRequest
2 голосов
/ 25 октября 2011

Я пытаюсь использовать простое автозаполнение для списка имен пользователей (~ 500).

  1. Я вижу, что можно вызвать какой-нибудь файл (например, php, ashx), который содержит запрошенный список. что это за файл? как должен выглядеть список? где я могу найти дополнительные данные?

  2. Альтернативно (мой предпочтительный выбор) Я могу использовать фиксированный список в: С Девбридж код: lookup: ['January', 'February', 'March', 'April', 'May']

    или jQuery-UI код: source: ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby"].

    но проблема в том, как установить этот массив не жестко - я попытался: var arr1 = ['January', 'Jania','February', 'March', 'April', 'May']; var arr2 = []; for(var i=0;i<all_analysts.length;i++){ arr[i] = all_analysts[i]; alert(arr[i]);//////// } lookup: arr2 //local lookup values

    но только при использовании в жестком коде: lookup: ['January', 'February', 'March', 'April', 'May'] это работает.

Не могли бы вы помочь?

Спасибо!

1 Ответ

0 голосов
/ 25 октября 2011

Что касается вашего первого вопроса - взгляните на этот пример: http://jqueryui.com/demos/autocomplete/#remote

Как видите, если опция source является строкой, то онаобрабатывается как URL-адрес, по которому будет выполнен запрос ajax, чтобы получить список условий сопоставления данных, введенных пользователем.Данный URL должен возвращать данные в формате JSON .

Если, например, вы установите параметр источника в "/ find_users".Как только пользователь введет строку «mo» в поле ввода, виджет автозаполнения сделает ajax-запрос к следующему URL: «/ find_users? Term = mo».Когда пользователь введет еще одну букву (скажем, ее «r»), для URL будет сделан другой запрос: «/find_users?term=mor".

Обратите внимание на переменную запроса term , котораясодержит текущее значение, введенное пользователем на вашей странице.

Что касается второго вопроса - в вашем коде есть опечатка - вы (по неясной для меня причине) помещаете значения из массива all_analystsв переменную arr и затем установите arr2 как lookup значение параметра.В вашем примере arr2 - пустой массив, поэтому автозаполнение не работает должным образом ...

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