AutoComplete — класс для автозаполнения строки ввода. К примеру вы захотели сделать на своем сайте функцию помогающую заполнять поле город. При вводе начальных символов всплывает подсказка со списком городов имеющих в названиях введенные вами символы. Для использования класса AutoComplete в Yii 2.0 нам необходимо его подключить к своему шаблону. Как правило подключения классов в yii 2.0 осуществляется верхней части шаблона
<? use yii\jui\AutoComplete;// Указываете путь до библиотеки ?>
Так же надо будет указать путь до модели откуда будут браться данные. В моем случае эта модель Goroda
<? use app\models\Goroda; ?>
После подключения модели нужно сформировать список и передать виджету AutoComplete
<? //фомируем список $listdata=Goroda::find() ->select(['id as value', 'name as label']) ->asArray() ->all(); ?> <?//Передаем список виджету AutoComplete?> <?= $form->field($model, 'otkuda')->widget( AutoComplete::className(), [ 'clientOptions' => [ 'source' => $listdata, ], 'options'=>[ 'class'=>'form-control' ] ]); ?>
Результат работы:
Плагин Autocomplete помогает заполнять текстовые поля, предлагая подходящие варианты по первым набранным символам. Варианты подбираются из заранее предоставленного массива с значениями или запрошены у сервера методом ajax. В данном примере автозаполнение будет предлагать названия языков программирования.
ValueError thrown
Unknown format specifier "a"