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. В данном примере автозаполнение будет предлагать названия языков программирования.
Вылетает ошибка Undefined variable. В чем может быть проблема?
Не объявлена переменная нужен полный код для того чтобы разобраться в чем причина
В описанном вами варианте после ввода и выбора нужного варианта (name) в поле прописывается не name а id! Подскажите как в поле прописать name но при этом при отправке формы получить id???
http://www.yiiframework.com/wiki/830/simple-jui-autocomplete-in-yii2/