Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> autocomplete - отображение списка по клику на поле 
:(
    Опции темы
Наставник
Дата 19.8.2014, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 4.11.2004

Репутация: нет
Всего: 15



Приветствую, коллеги!

Есть проблема, знаний не хватает на решение.

Код

$("#country").autocomplete("autocomplete.php", {
    delay:2,
    minChars:1,
    matchSubset:1,
    autoFill:true,
    matchContains:1,
    cacheLength:10,
    selectFirst:true,
    formatItem:liFormat,
    maxItemsToShow:10,        
    onItemSelect:selectItem
});




HTML
Код

<input type=”input” id=”country” />



PHP скрипт autocomplete.php возвращает список стран.

Все «типично» для этого расширения, работает как надо, при вводе в поле одной буквы появляется выпадающий список со странами, которые начинаются с введенной буквы.

Вопрос состоит в том, можно ли сделать так, чтобы выпадающий список со странами отображался уже только по КЛИКУ (или переходу) на поле для ввода страны (<input type…>)

Т.е. “грубо говоря” раскрывался список при focus() на input со списком всех стран.


Нашел подобное вопрос и решение тут ->
http://stackoverflow.com/questions/4604216...inlength0-issue
-> и пример решения
http://jsfiddle.net/karim79/fYVrD/

но, как не игрался c параметром minLength, focus() не получается победить проблему. 


Буду рад совету.

Спасибо!


Это сообщение отредактировал(а) Наставник - 19.8.2014, 11:00


--------------------
Богатство языка определяет широту мысли
Персональный сайт >>
PM MAIL WWW   Вверх
Aliance
Дата 19.8.2014, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 7
Всего: 137



А где ваш-то код? В решении просто вызывается автокомплит при событии focus у поля.
PM MAIL WWW ICQ Skype   Вверх
Наставник
Дата 19.8.2014, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 4.11.2004

Репутация: нет
Всего: 15



Цитата(Aliance @ 19.8.2014,  11:50)
А где ваш-то код?

Не совсем понял вопроса, 
сам код привел сверху, этого достаточно, чтобы уже работало.

Если что-то упустил,
то можно глянуть работу скрипта тут
gcargo.ru/calc/

есть "Страна отправления:", хотелось бы чтобы по клику на это поле, выпадал весь список стран. Сейчас же это происходит только после ввода первой буквы (русский язык).





--------------------
Богатство языка определяет широту мысли
Персональный сайт >>
PM MAIL WWW   Вверх
Aliance
Дата 19.8.2014, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 7
Всего: 137



Я думал этот код, который был ДО поиска решения и попыток привести свой код в итоговый. А раз это уже итоговый - то конечно он не будет делать то, чего вам нужно. Ведь из приведеннего вами решения вы не взяли саму его суть
Код

$(input).autocomplete(options).focus(function(){$(this).autocomplete('search', '')})

PM MAIL WWW ICQ Skype   Вверх
Наставник
Дата 19.8.2014, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 4.11.2004

Репутация: нет
Всего: 15



Aliance

суть просто не стал приводить, ибо разными способами пытался вставить этот focus.

На основании, вашего примера, сделал так


Код

$("#country").autocomplete("autocomplete.php", {
    delay:2,
    minChars:1,
    matchSubset:1,
    autoFill:true,
    matchContains:1,
    cacheLength:10,
    selectFirst:true,
    formatItem:liFormat,
    maxItemsToShow:10,        
    onItemSelect:selectItem
}).focus(function(){$(this).autocomplete('search', '')});



"синтаксически" это должно быть валидно, но не работает как надо.
// можно зайти на сайт и убедиться в этом.

Уже думаю просто "тупо" в самом input прописать событие onFocus="jsFunc();" - чтобы выпадал список, но должно быть более грамотное решение же с помощью этого дополнение JQuery?





--------------------
Богатство языка определяет широту мысли
Персональный сайт >>
PM MAIL WWW   Вверх
Aliance
Дата 19.8.2014, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 7
Всего: 137



У вас формат $(selector).autocomplete("url", {}), а в jQuery UI формат $(selector).autocomplete({source: 'url'}). Вы вообще какой автокомплит-то используете? Все говорит о том, что jQuery UI, но формат инициализации у вас странный.
PM MAIL WWW ICQ Skype   Вверх
Наставник
Дата 19.8.2014, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 4.11.2004

Репутация: нет
Всего: 15



Aliance

говорю же, что не "шарю" особо в JQuery, поэтому не могу сам дописать.
Использую JQuery UI autocomplete


П.С.
можно на "ты" - без формальностей


--------------------
Богатство языка определяет широту мысли
Персональный сайт >>
PM MAIL WWW   Вверх
Aliance
Дата 20.8.2014, 07:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 7
Всего: 137



По ссылке что ты дал, у тебя подключается файл http://gcargo.ru/bitrix/templates/GeneralCargoInCalc/js/jquery.autocomplete.js, а это не jQuery UI, это просто плагин.

Соответственно, нужно либо ссылка на документация в этому плагину, чтобы посмотреть, можно ли там сделать так. Либо подключить все же  jQuery UI. В коде там у тебя есть закомментированный блок с правильным автокомплитом UI формата (только там переменную source нужно задать явно), но тогда отвалится автокомплит в городе. Нужно не забыть и его поменять на формат уи-шного.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.1229 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.