Autocomplete

Create inputs that allow users to choose from a list of pre-generated values while typing.

Usage

To apply this component, add the .uk-autocomplete class to a <div> element around an input element. To enable the necessary JavaScript for the autocomplete input, you also need to add the data-uk-autocomplete attribute. Add {source:'PATH/TO/RESULTS'} to the data attribute and set the path to your autocomplete list, which needs to be formatted in JSON (Example). A dropdown from the Dropdown component is injected to display autocomplete suggestions. You can even navigate through the dropdown with the up and down keys of your keyboard.

Example

Note Type in Hamburg, New York, Moscow or Amsterdam.

Markup

<div class="uk-autocomplete uk-form" data-uk-autocomplete="{source:'my-autocomplete.json'}">
    <input type="text">
</div>

Custom templates

You can also create custom templates to display the results differently.

Example

Markup

<div class="uk-autocomplete uk-form" data-uk-autocomplete="{source:'my-autocomplete.json'}">
    <input type="text">
    <script type="text/autocomplete">
        <ul class="uk-nav uk-nav-autocomplete uk-autocomplete-results">
            {{~items}}
            <li data-value="{{ $item.value }}">
                <a>
                    {{ $item.title }}
                    <div>{{{ $item.text }}}</div>
                </a>
            </li>
            {{/items}}
        </ul>
    </script>
</div>

JavaScript options

Option Possible value Default Description
source url, array, callback function [] Data source
minLength integer 3 Min. input length before triggering autocomplete
param string search Query name when sending ajax request
delay integer 300 Delay time after stop typing

Init element manually

var autocomplete = $.UIkit.autocomplete(element, { /* options */ });

Events

Name Parameter Description
select.uk.autocomplete event, data, acobject On item selected
show.uk.autocomplete event On autocomplete dropdown show