Skip to content

CallumNZ/bootstrap5-autocomplete

 
 

Repository files navigation

Autocomplete for Bootstrap 4/5

NPM Downloads

How to use

An ES6 autocomplete for your input using standards Bootstrap 5 (and 4) styles.

No additional CSS needed!

import Autocomplete from "./autocomplete.js";
Autocomplete.init();

Server side support

You can also use options provided by the server. This script expects a json response that is an array or an object with the data key containing an array.

Simply set data-server where your endpoint is located. It should provide an array of value/label objects. The suggestions will be populated upon init except if data-live-server is set, in which case, it will be populated on type. A ?query= parameter is passed along with the current value of the searchInput.

Options

Options can be either passed to the constructor (eg: optionName) or in data-option-name format.

Name Type Description
showAllSuggestions Boolean Show all suggestions even if they don't match
suggestionsThreshold Number Number of chars required to show suggestions
maximumItems Number Maximum number of items to display
autoselectFirst Boolean Always select the first item
updateOnSelect Boolean Update input value on selection (doesn't play nice with autoselectFirst)
highlightTyped Boolean Highlight matched part of the label
fullWidth Boolean Match the width on the input field
labelField String Key for the label
valueField String Key for the value
queryField String Key for the query parameter for server
items Array | Object An array of label/value objects or an object with key/values
source function A function that provides the list of items
datalist String The id of the source datalist
server String Endpoint for data provider
serverParams String | Object Parameters to pass along to the server
liveServer Boolean Should the endpoint be called each time on input
noCache Boolean Prevent caching by appending a timestamp
debounceTime Number Debounce time for live server
notFoundMessage String Display a no suggestions found message. Leave empty to disable
onRenderItem function Callback function that returns the label
onSelectItem function Callback function to call on selection
onServerResponse function Callback function to process server response

Tips

  • Use arrow down to show dropdown (and arrow up to hide it)
  • If you have a really long list of options, a scrollbar will be used
  • Access instance on a given element with Autocomplete.getInstance(myEl)

Demo

https://codepen.io/lekoalabe/pen/MWXydNQ or see demo.html

Browser supports

Modern browsers (edge, chrome, firefox, safari... not IE11). Add a warning if necessary.

Also check out

About

Autocomplete for Bootstrap 5 (and 4!)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 61.8%
  • HTML 38.2%