【发布时间】:2016-10-24 09:11:35
【问题描述】:
我使用 Kartik 的 DetailView 和 Select2 从下拉列表中保存多选服务员列表。形式:
<?= $form->field($model, 'attendants')->widget(Select2::classname(), ['data' => $model->attendantList, 'options' => ['placeholder' => Yii::t('app', 'Select...'), 'multiple' => true]]) ?>
在视图中:
[
'attribute' => 'attendants',
'format' => 'raw',
'type' => DetailView::INPUT_SELECT2,
'widgetOptions' => ['data' => $model->attendantList, 'options' => ['placeholder' => Yii::t('app', 'Select...'),'multiple' => true]],
'value' => call_user_func(function($model){
$attendants = '';
foreach($model->persons as $person) {$attendants .= Html::a($person->name, ['aux-person-event/index', 'person_id' => $person->id]).'<br/>';}
return $attendants;
}, $model),
],
其中$model->attendantList 是“id”和“name”对的数组。
如果我通过更新操作使用标准 ActiveForm,保存的值会在更新时正常加载到表单中。但是,在编辑模式下使用 Kartik 的 DetailView 时它们不是。
有什么线索吗?
【问题讨论】:
-
您确定在您的模型中定义了attachants 变量吗?你在规则部分提到过吗?
标签: yii2 select2 detailview