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

标签 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')?>

我在这里缺少什么?如何获取更新值?

最佳答案

您必须显式设置 value :

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

不过,如果您设置了 modelattribute,则不需要这样做。

关于php - Yii2 自动完成 - 更新时字段中缺少值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30019046/

相关文章:

php - 如何在 Laravel 中以多对多关系保存自定义列?

php - 在 Codeception 测试中找不到 Yii2 类

php - 动态创建我的应用程序的完整 URL

php - 从 PHP Mysql 标签的逗号分隔值中搜索关键字

php - PHP 类中 protected/private 的重要性

php - Yii2 - 应用程序 Assets

sorting - Yii2 添加相关属性进行排序

php - session cookies = cookies?

php - 在 yii2/codeception 数据文件中引用 fixture 记录

yii2 - 在 Yii2 的 View 文件中使用 ArrayHelper