Autocomplete
autoComplete.js) is a simple, pure
vanilla Javascript library progressively designed for speed,
high versatility, and seamless integration with a wide range
of projects & systems. It has no dependencies, includes
powerful search engine with two different modes, is highly
customizable and works with regular inputs (text field,
textarea and contentEditable elements).
Simple example of search field with autocomplete. Includes a few overrides of default options to make it work like a regular suggestion engine: highlight of matching bit and display selected item in the field value.
By default, autocomplete displays the list of mathing
results, but doesn't update input value when menu item
is selected. This can be changed via
selection input event. This example shows
the default behaviour.
Threshold option is responsible for setting threshold
value of the minimum characters length where
autoComplete.js engine starts. In this
example threshold value is set to 3. Type
nia to see it in action
Debounce option is responsible for setting delay time
duration (in milliseconds) that counts after typing is
done for autoComplete.js engine to start.
Default value is 0, in this example it's
set to 500ms.
SearchEngine option is responsible for setting the
Search engine Type/Mode or custom engine. Supports
strict (default) and
loose modes. In this example
searchEngine option is set to
loose.
The library includes onfocus event, which
provides extra customization of search results. In this
example results list is triggered on focus when
suggestion is selected. Choose some country and then
click on input field.
With additional configuration of
query option and
selection event, search field can support
multiple selection separated by comma. Example below
demonstrates this behaviour.
Display total number of matches and current count of
maximum displayed items set in JS configuration. Works
in combination with maxResults option that
sets the limit of items displayed in the menu.
The message that is shown to the user when search query
doesn't match any data entry can be easily customized
via resultsList set of options. Type
"Sweden" to see it in action
By default, autocomplete doesn't highlight matching
characters in the list of results, but shows the list of
general matches. To change this behaviour, set
highlight option to true in
resultItem option.
This example loads external JSON file with a list of
countries. You can easily customize appearance of
results and selection, add dynamic placeholders or
loading indicators in data configuration.
External data set includes duplicated value -
Austria. This example filters out all
duplicates in data set and returns a single value. This
behaviour can be easily achieved with
filter configuration option
Results list can include search history in a simple list
format. You can customize its appearance in
resultsList option and
selection event. Select some country and
then trigger the menu again.
The data can be filtered in a way that the list will include only the exact query starting from the 1st word. If you type A, United Arab Emirates will be ignored since the 1st letter in the 1st word doesn't contain that query.