Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui Yii2:是否可以为自动完成小部件设置可视默认值?_Jquery Ui_Autocomplete_Yii2 - Fatal编程技术网

Jquery ui Yii2:是否可以为自动完成小部件设置可视默认值?

Jquery ui Yii2:是否可以为自动完成小部件设置可视默认值?,jquery-ui,autocomplete,yii2,Jquery Ui,Autocomplete,Yii2,我在控制器上初始化了一个模型及其一个属性 $model = new MyModel; $model->internal_code = 'BAUBAU'; 然后我填充了一系列适合自动完成的代码 $products = Product::find() ->select([ Product::tableName().'.id as id', 'internal_

我在控制器上初始化了一个模型及其一个属性

$model = new MyModel;
$model->internal_code = 'BAUBAU';
然后我填充了一系列适合自动完成的代码

$products = Product::find()
                ->select([
                        Product::tableName().'.id as id',
                        'internal_code as label',
                        'internal_code as value',
                    ])
                ->asArray()
                ->all();
然后我想使用自动完成来显示默认值,并允许用户通过自动完成小部件来更改它

这是视图代码

echo $form->field($model, 'internal_code')
    ->widget(AutoComplete::classname(),[
        'clientOptions' => [
                'source'    => $products
            ]
        ])
    ->label('Internal code');
实际上,这个小部件可以工作,用户可以从自动完成缩小搜索的结果中选择数字字符

但问题是,即使设置了
$model->internal_code
,小部件在加载时也不会显示值用户在屏幕上看不到默认值('BAUBAU')。我无法理解要填充的属性和/或客户端选项

注意:我添加了
JqueryUI
标记,因为这个Yii2小部件使用JqueryUI的autocomplete小部件,您只需要设置属性

像这样

echo $form->field($model, 'internal_code')
    ->widget(AutoComplete::classname(),[
        'value' => (!empty($model->internal_code) ? $model->internal_code : ''),
        'clientOptions' => [
                'source'    => $products
         ]
 ])->label('Internal code');

可在选项数组中设置的默认值,如下视图:

'options' => [
                    'placeholder'=> 'Select...',
                    'class'=>'form-control',
                    'value' => (!empty($model->attribute) ? $model->attribute : ''),
            ],

@gamitg:案例和问题的扩展解释。我希望这足够了。问题很简单:如何在自动完成小部件中显示字段值。1。BAUBAU是$products的一部分吗?2.$products不应该是简单的字符串数组吗?