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不应该是简单的字符串数组吗?