Уроки по программированию

AutoComplete в Yii 2.0 учимся использовать

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 в Yii 2.0

Плагин Autocomplete помогает заполнять текстовые поля, предлагая подходящие варианты по первым набранным символам. Варианты подбираются из заранее предоставленного массива с значениями или запрошены у сервера методом ajax. В данном примере автозаполнение будет предлагать названия языков программирования.

Комментарии к статье

  • Аватарка 07.08.2015

    Вылетает ошибка Undefined variable. В чем может быть проблема?

    • Аватарка 07.08.2015

      Не объявлена переменная нужен полный код для того чтобы разобраться в чем причина

  • Аватарка 04.04.2016
    Ответить Алексей

    В описанном вами варианте после ввода и выбора нужного варианта (name) в поле прописывается не name а id! Подскажите как в поле прописать name но при этом при отправке формы получить id???

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *