Awesomplete подключается как лёгкая автономная библиотека автодополнения, работающая поверх стандартных HTML-элементов формы. Минимальный сценарий использования строится вокруг одного текстового поля и массива подсказок, который связывается с этим полем через экземпляр Awesomplete.
Базовый способ подключения — использование CDN. Достаточно подключить CSS и JavaScript-файл:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/awesomplete/1.1.5/awesomplete.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/awesomplete/1.1.5/awesomplete.min.js"></script>
CSS обеспечивает базовое оформление выпадающего списка, JavaScript реализует логику фильтрации и навигации по вариантам.
Минимальная HTML-структура состоит из одного input-элемента:
<input id="city" type="text" />
Библиотека работает напрямую с DOM-элементом, не требуя дополнительных обёрток или компонентов.
Связывание поля с набором данных выполняется через конструктор Awesomplete:
<script>
const input = document.getElementById("city");
const cities = [
"Almaty",
"Astana",
"Karaganda",
"Shymkent",
"Aktobe",
"Atyrau"
];
new Awesomplete(input, {
list: cities
});
</script>
В этом примере массив cities выступает источником
подсказок. При вводе текста выполняется фильтрация значений по
совпадению с началом строки.
Поведение по умолчанию включает:
Логика фильтрации основана на поиске совпадения подстроки в начале элемента списка, без необходимости дополнительной настройки.
Awesomplete принимает массив строк напрямую, без предварительной трансформации. Каждый элемент массива интерпретируется как отдельный вариант автодополнения.
list: ["JavaScript", "Java", "Python", "PHP", "C#", "C++"]
Такой подход подходит для статических наборов данных, когда список заранее известен и не требует динамической загрузки.
Даже в базовой конфигурации доступны параметры, влияющие на поведение:
new Awesomplete(input, {
list: cities,
minChars: 1,
maxItems: 5,
autoFirst: true
});
minChars определяет минимальное количество символов
перед показом списка;maxItems ограничивает число отображаемых
элементов;autoFirst автоматически выделяет первый элемент
списка.<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/awesomplete/1.1.5/awesomplete.min.css">
</head>
<body>
<input id="city" type="text" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/awesomplete/1.1.5/awesomplete.min.js"></script>
<script>
const input = document.getElementById("city");
new Awesomplete(input, {
list: ["Almaty", "Astana", "Karaganda", "Shymkent"]
});
</script>
</body>
</html>