Yii2:Select2,如何在Gridview 或Tabularform 中设置initValueText? [英] Yii2: Select2, How to set initValueText in Gridview or Tabularform?

查看:15
本文介绍了Yii2:Select2,如何在Gridview 或Tabularform 中设置initValueText?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要为 Select2 设置 initValueText,它在循环中,如 gridview 或 Tabularform.但我不知道如何为每个设置正确的值.

I need to set initValueText for Select2, which is in loop, like gridview or Tabularform. but I don't know how to set right value for each.

<?= TabularForm::widget([
    'dataProvider' => $dataProvider,
    'form' => $form,
    'actionColumn' => false,
    'checkboxColumn' => false,
    'attributeDefaults' => [
        'type' => TabularForm::INPUT_RAW,
    ],
    'attributes' => [
        'test' => [
            'type' => Form::INPUT_WIDGET,
            'widgetClass' => Select2::className(),
            'options' => [
                'name' => 'test',
                'options' => [
                    'class' => 'test-to-select',
                ],
                'pluginOptions' => [
                    'allowClear' => true,
                    'minimumResultsForSearch' => 'Infinity',
                    'ajax' => [
                        'url' => Url::to(['/test/get-list']),
                        'dataType' => 'json',
                        'data' => new JsExpression('function(term,page) {
                            return {term : term.term};
                        }'),
                        'results' => new JsExpression('function(data,page) {
                            return {results:data.results};
                        }'),
                        'cache' => true
                    ]
                ],
                'initValueText' => 'Selected Text' /// how can I set this in gridview or Tabularform?
            ],

        ],
    ]
]) ?>

这当然行不通,

'initValueText' => function($model){
    retur $model->textValue;
}

任何帮助将不胜感激.

推荐答案

如果例如城市的属性,那么试试这个..

If for example attribute for city, so try this..

$cityDesc = empty($model->city) ? '' : City::findOne($model->city)->description;

'initValueText' => $cityDesc, // set the initial display text

对于init值,先给$model属性赋值,如果不赋值,则该属性可以取值.

For init value first assign value to $model attribute, if you should not assign so this attribute can take value.

这篇关于Yii2:Select2,如何在Gridview 或Tabularform 中设置initValueText?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆