| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Применение библиотек > autocomplete - отображение списка по клику на поле |
| Автор: Наставник 19.8.2014, 09:57 | ||||
| Приветствую, коллеги! Есть проблема, знаний не хватает на решение.
HTML
PHP скрипт autocomplete.php возвращает список стран. Все «типично» для этого расширения, работает как надо, при вводе в поле одной буквы появляется выпадающий список со странами, которые начинаются с введенной буквы. Вопрос состоит в том, можно ли сделать так, чтобы выпадающий список со странами отображался уже только по КЛИКУ (или переходу) на поле для ввода страны (<input type…>) Т.е. “грубо говоря” раскрывался список при focus() на input со списком всех стран. Нашел подобное вопрос и решение тут -> http://stackoverflow.com/questions/4604216/jquery-ui-autocomplete-minlength0-issue -> и пример решения http://jsfiddle.net/karim79/fYVrD/ но, как не игрался c параметром minLength, focus() не получается победить проблему. Буду рад совету. Спасибо! |
| Автор: Aliance 19.8.2014, 11:50 |
| А где ваш-то код? В решении просто вызывается автокомплит при событии focus у поля. |
| Автор: Наставник 19.8.2014, 12:17 | ||
Не совсем понял вопроса, сам код привел сверху, этого достаточно, чтобы уже работало. Если что-то упустил, то можно глянуть работу скрипта тут gcargo.ru/calc/ есть "Страна отправления:", хотелось бы чтобы по клику на это поле, выпадал весь список стран. Сейчас же это происходит только после ввода первой буквы (русский язык). |
| Автор: Aliance 19.8.2014, 14:09 | ||
Я думал этот код, который был ДО поиска решения и попыток привести свой код в итоговый. А раз это уже итоговый - то конечно он не будет делать то, чего вам нужно. Ведь из приведеннего вами решения вы не взяли саму его суть
|
| Автор: Наставник 19.8.2014, 14:48 | ||
| Aliance, суть просто не стал приводить, ибо разными способами пытался вставить этот focus. На основании, вашего примера, сделал так
"синтаксически" это должно быть валидно, но не работает как надо. // можно зайти на сайт и убедиться в этом. Уже думаю просто "тупо" в самом input прописать событие onFocus="jsFunc();" - чтобы выпадал список, но должно быть более грамотное решение же с помощью этого дополнение JQuery? |
| Автор: Aliance 19.8.2014, 15:31 |
| У вас формат $(selector).autocomplete("url", {}), а в jQuery UI формат $(selector).autocomplete({source: 'url'}). Вы вообще какой автокомплит-то используете? Все говорит о том, что jQuery UI, но формат инициализации у вас странный. |
| Автор: Наставник 19.8.2014, 16:22 |
| Aliance, говорю же, что не "шарю" особо в JQuery, поэтому не могу сам дописать. Использую JQuery UI autocomplete П.С. можно на "ты" - без формальностей |
| Автор: Aliance 20.8.2014, 07:25 |
| По ссылке что ты дал, у тебя подключается файл http://gcargo.ru/bitrix/templates/GeneralCargoInCalc/js/jquery.autocomplete.js, а это не jQuery UI, это просто плагин. Соответственно, нужно либо ссылка на документация в этому плагину, чтобы посмотреть, можно ли там сделать так. Либо подключить все же jQuery UI. В коде там у тебя есть закомментированный блок с правильным автокомплитом UI формата (только там переменную source нужно задать явно), но тогда отвалится автокомплит в городе. Нужно не забыть и его поменять на формат уи-шного. |