Обновление скрытого поля с использованием автозаполнения в Yii2

Я работаю над виджетами автозаполнения. Пока это мой код.

Мой взгляд:

<?php $data = Company::find() ->select(['name as value', 'name as label','c_id as id']) ->asArray() ->all(); echo AutoComplete::widget([ 'name' => 'Company', 'id' => 'ddd', 'clientOptions' => [ 'source' => $data, 'autoFill'=>true, 'minLength'=>'4', 'select' => new JsExpression("function( event, ui ) { console.log(ui); $('#user-company').val(ui.item.id); }")], ]); ?> <?= Html::activeHiddenInput($model, 'company')?> 

При выборе опции параметры автозаполнения обновляются в текстовом поле, но не обновляются скрытое поле.

Как я могу получить скрытое поле для обновления при выборе опции?

Вы можете использовать следующие свойства:

  • labels – показаны в раскрывающемся меню,
  • value – переходит в поле ввода после выбора,
  • id – дополнительный параметр для использования поля hiden.

Например:

 <input type="hidden" id="user_company" name="user_company" value="qwe"> <?php use yii\web\JsExpression; echo AutoComplete::widget([ 'name' => 'company', 'id' => 'ddd', 'clientOptions' => [ 'source' => [ ['label'=>'color1', 'value'=>'key1', 'id'=>'c_id1'], ['label'=>'color2', 'value'=>'key2', 'id'=>'c_id2'] ], 'autoFill'=>true, 'minLength'=>'0', 'select' => new JsExpression("function( event, ui ) { console.log(ui); $('#user_company').val(ui.item.id); }") ], ]);?>