Как использовать поле выбора с помощью jQuery AutoComplete?
Сейчас у меня есть виджет Autocomplete в текстовом поле. В идеале это будет поле "Выбор", но я не могу понять, как разрешить кому-то вводить в поле выбора.
Итак, я отнесен к текстовому полю и скрытому ящику. Скрытый ящик должен обновиться с идентификатором того, что отображается в текстовом поле.
Я новичок в jQuery, по крайней мере, на таком углубленном уровне. Я делаю это сложнее, чем мне нужно? Мне определенно нужно автозаполнение, потому что есть потенциально сотни тысяч возможных значений.
Ответы
Ответ 1
отличный пример именно на демонстрационной странице jQueryUI для автозаполнения. Он фактически использует элемент select
в качестве хранилища резервных копий.
Вы можете легко изменить это, чтобы использовать удаленный источник данных. Если вам нужен источник, который будет удален, сообщите мне, и я могу привести пример.
Ответ 2
Вы должны заглянуть в плагин jQuery под названием chosen
.
Я думаю, что это лучший плагин jQuery, написанный за последний год (или более).
Chosen - это плагин JavaScript, который делает длинные, громоздкие флажки выбора более удобными для пользователя. В настоящее время он доступен как для jQuery, так и для прототипов.
Ответ 3
Существует очень хорошая альтернатива для "selected" - "Select2" (только jQuery).
Примеры использования "Select2"
- Усовершенствование родных выбирает с помощью поиска.
- Усовершенствование собственных выборок с лучшим интерфейсом с несколькими выборами.
- Загрузка данных из JavaScript: легко загружать элементы через ajax и иметь их для поиска.
- Вложенные optgroups: native выбирает только один уровень вложенности. Select2 не имеет этого ограничения.
- Пометка: возможность добавления новых элементов на лету.
- Работа с большими удаленными наборами данных: возможность частично загружать набор данных на основе поискового запроса.
- Пейджинг больших наборов данных: простая поддержка для загрузки большего количества страниц, когда результаты прокручиваются до конца.
- Templating: поддержка пользовательского рендеринга результатов и выбора.