Yii2:选择2,如何在Gridview或TablerForm中设置initValueText?
我需要为Select2设置initValueText,它在循环中,比如gridview或TablerForm。但我不知道如何为每一个设置正确的值Yii2:选择2,如何在Gridview或TablerForm中设置initValueText?,yii2,Yii2,我需要为Select2设置initValueText,它在循环中,比如gridview或TablerForm。但我不知道如何为每一个设置正确的值 <?= TabularForm::widget([ 'dataProvider' => $dataProvider, 'form' => $form, 'actionColumn' => false, 'checkboxColumn' => false, 'attributeDefa
<?= 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?
],
],
]
]) ?>
任何帮助都将不胜感激 如果以城市为例,那么试试这个
$cityDesc = empty($model->city) ? '' : City::findOne($model->city)->description;
'initValueText' => $cityDesc, // set the initial display text
对于init value,如果不应该赋值,则首先将值赋给$model属性,以便该属性可以取值。如果例如城市属性,请尝试此操作
$cityDesc = empty($model->city) ? '' : City::findOne($model->city)->description;
'initValueText' => $cityDesc, // set the initial display text
对于init value,如果不应该赋值,则首先将值赋给$model属性,以便该属性可以取值。如果例如城市属性,请尝试此操作
$cityDesc = empty($model->city) ? '' : City::findOne($model->city)->description;
'initValueText' => $cityDesc, // set the initial display text
对于init value,如果不应该赋值,则首先将值赋给$model属性,以便该属性可以取值。如果例如城市属性,请尝试此操作
$cityDesc = empty($model->city) ? '' : City::findOne($model->city)->description;
'initValueText' => $cityDesc, // set the initial display text
对于init value,如果不应赋值,请首先将值赋给$model属性,以便该属性可以取值。使用包含要显示的选项的数组设置数据参数。例如,城市:
'options' => [
'data' => \yii\helpers\ArrayHelper::map(\app\models\City::find()->orderBy('id')->asArray()->all(), 'id', 'name'),
]
使用包含要显示的选项的数组设置数据参数。例如,城市:
'options' => [
'data' => \yii\helpers\ArrayHelper::map(\app\models\City::find()->orderBy('id')->asArray()->all(), 'id', 'name'),
]
使用包含要显示的选项的数组设置数据参数。例如,城市:
'options' => [
'data' => \yii\helpers\ArrayHelper::map(\app\models\City::find()->orderBy('id')->asArray()->all(), 'id', 'name'),
]
使用包含要显示的选项的数组设置数据参数。例如,城市:
'options' => [
'data' => \yii\helpers\ArrayHelper::map(\app\models\City::find()->orderBy('id')->asArray()->all(), 'id', 'name'),
]
试着把选项放在里面,而不是放在外面
'widgetClass' => Select2::className(),
'options' => [
'initValueText' => 'Selected Text'
试着把选项放在里面,而不是放在外面
'widgetClass' => Select2::className(),
'options' => [
'initValueText' => 'Selected Text'
试着把选项放在里面,而不是放在外面
'widgetClass' => Select2::className(),
'options' => [
'initValueText' => 'Selected Text'
试着把选项放在里面,而不是放在外面
'widgetClass' => Select2::className(),
'options' => [
'initValueText' => 'Selected Text'
如果需要动态initValueText,可以通过以下方式使用选项闭包:
'test' => [
'type' => Form::INPUT_WIDGET,
'widgetClass' => Select2::className(),
'options' => function($model, $key, $index, $widget) {
$initValueText = empty($model['textValue']) ? '' : $model['textValue'];
return [
'name' => 'test',
'options' => [
'class' => 'test-to-select',
],
'initValueText' => $initValueText,
'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,可以通过以下方式使用选项闭包:
'test' => [
'type' => Form::INPUT_WIDGET,
'widgetClass' => Select2::className(),
'options' => function($model, $key, $index, $widget) {
$initValueText = empty($model['textValue']) ? '' : $model['textValue'];
return [
'name' => 'test',
'options' => [
'class' => 'test-to-select',
],
'initValueText' => $initValueText,
'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,可以通过以下方式使用选项闭包:
'test' => [
'type' => Form::INPUT_WIDGET,
'widgetClass' => Select2::className(),
'options' => function($model, $key, $index, $widget) {
$initValueText = empty($model['textValue']) ? '' : $model['textValue'];
return [
'name' => 'test',
'options' => [
'class' => 'test-to-select',
],
'initValueText' => $initValueText,
'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,可以通过以下方式使用选项闭包:
'test' => [
'type' => Form::INPUT_WIDGET,
'widgetClass' => Select2::className(),
'options' => function($model, $key, $index, $widget) {
$initValueText = empty($model['textValue']) ? '' : $model['textValue'];
return [
'name' => 'test',
'options' => [
'class' => 'test-to-select',
],
'initValueText' => $initValueText,
'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
]
],
];
}
],
如果使用了多个“一个过滤器”,则不要使用isset it返回错误
如果使用了多个“一个过滤器”,则不要使用isset it返回错误
如果使用了多个“一个过滤器”,则不要使用isset it返回错误
如果使用了多个“一个过滤器”,则不要使用isset it返回错误