Yii2自动完成 - 更新时字段中缺少值

时间:2015-05-03 20:29:45

标签: php yii2

我正在使用yii2自动完成小部件,它工作正常,除非我更新表单时字段显示为空白。

use yii\jui\AutoComplete;
use yii\web\JsExpression;

$data = app\models\Doctor::find()
    ->select(['doctor_name as value', 'doctor_name as  label','id as id'])
    ->asArray()
    ->all();

之后是像这样的自动完成代码

echo 'Doctor' .'<br>';
  echo AutoComplete::widget([
    'name' => 'Doctor',    
    'id' => 'ddd',
    'clientOptions' => [
        'source' => $data, 
        'autoFill'=>true,
         'select' => new JsExpression("function( event, ui ) {
        $('#appoinment-doctor_name').val(ui.item.id);
     }")],
     ]);
<?= Html::activeHiddenInput($model, 'doctor_name')?>

我在这里缺少什么?我怎样才能获得更新的价值?

1 个答案:

答案 0 :(得分:2)

您必须明确设置value

echo AutoComplete::widget([
    'name' => 'Doctor',    
    'id' => 'ddd',
    'value' => $model->doctor_name,
    ...

如果您设置modelattribute,则无需执行此操作。