jquery-ui - Yii2:是否可以为自动完成小部件设置可见的默认值?

标签 jquery-ui autocomplete yii2

我在我的 Controller 上初始化了一个模型及其一个属性

$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');

实际上小部件可以工作,用户可以对字符进行数字化并从自动完成缩小搜索的结果中进行选择。

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

注意:我添加了 jquery-ui 标签,因为这个 Yii2 小部件使用了 JqueryUI 的自动完成小部件

最佳答案

你只需要设置value属性(property)。

像这样。

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

关于jquery-ui - Yii2:是否可以为自动完成小部件设置可见的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32587984/

相关文章:

rest - 为什么在简单的 API Controller 中不允许使用 DELETE 方法

javascript - 动画命令完成后调用命令

php - Vim 完成 + php 命名空间

jquery - 在模糊功能上获取 jquery 自动完成中的选定值

visual-studio-code - 如何在 VSCode 中禁用 HTML 自动完成功能?

yii2 - Yii 2 : useles query performed

javascript - 使 JQuery 按钮充当下拉菜单

jquery - 显示回调不会触发 jquery ui 选项卡

jQuery Slide 插件定位问题

javascript - Yii2 - URL 为 :s in listView 的数组