# Автозаполнение

Автозаполнение помогает автоматический получать данные и выводить их в списке под полем ввода.

Некоторые из параметров, передаваемых обработчику, можно задать через атрибут\ <mark style="color:orange;">`data-ac-*`</mark>. Так, например, <mark style="color:orange;">`data-ac-url`</mark> - задает URL адрес обработчика,\ <mark style="color:orange;">`data-ac-method`</mark> - метод передачи обработчику, <mark style="color:orange;">`data-ac-type`</mark> - тип получаемых данных, <mark style="color:orange;">`data-ac-data`</mark> - список элементов через запятую, <mark style="color:orange;">`data-ac-min`</mark> - минимальное кол-во вводимых символов, по которым будет обрабатываются результат.

Остальные параметры можно передать через опции объекта <mark style="color:orange;">`pipui.autocomplete`</mark>

```javascript
var ac = new pipui.autocomplete($('#example1'));

    ac
        .setData(tags) // Список элементов в виде строки/массива/объекта
        .setType('json') // Как будут обрабатываться входящие данные
        .setKey('title') // По какому параметру будет производится поиск
        .setMin(5) // Минимальное кол-во символов для активации поиска
        .setParams(formdata) // По умолчанию в запросе передается только параметр value, но вы можете добавить к нему дополнительные параметры через объект formData
        .setURL('') // URL адрес, на который будет отправлен запрос
        .setMethod('POST') // Метод передаваемых данных. По умолчанию используется GET
        .setTimer(300) // Задержка при поиске результатов. По умолчанию 300
        .setResults(10) // Максимальное кол-во выдаваемых результатов. По умолчанию 10
        .setInput(element) // Объект поля ввода
        .setTemplateSelector('<li class="autocomplete-item"><a href="#" class="autocomplete-link" data-index="{KEY}" rel="nofollow">{title}</a></li>') // Изменение шаблона элемента по умолчанию. В качестве зарезервированных шаблонных ключей можно использовать: {KEY} - ключ элемента списка; {VALUE} - значение элемента списка; {ИМЯ_ПАРАМЕТРА} - любой ключ из объекта
        .setTemplateBlock('...html...'); // Изменение шаблона блока списка по умолчанию. В качестве зарезервированных шаблонных ключей можно использовать {ID} - уникальный ID блока автозаполнения; {ITEMS} - список найденных элементов
```
