在Yii2应用程序中,是否可以在屏幕上多次renderPartial
_form
,并且每个渲染中的相同字段具有不同的ids
?
为什么我需要这个?我在屏幕上动态生成了标签。当用户点击user/edit/5
时,我不会重定向,只需在屏幕上打开一个新标签,其中包含用于编辑内部用户的表单。当用户点击user/edit/16
时,我会生成另一个具有相同表单但内部数据不同的选项卡,依此类推。这一切都有效,直到我到达date_of_birth
之类的字段,我正在尝试附加DatePicker
。选项卡使得有几个这样的字段的id为user-date_of_birth
,因此DatePicker
仅适用于其中的第一个,但不适用于其余的字段。这就是为什么我正在寻找提示,使用renderPartial
生成相同的表单,但每次都有不同的ids
。
答案 0 :(得分:0)
尝试使用render而不是renderPartial并在第二个参数中传递动态表单id。
return $this->render('_form', [
'model' => $model,
'formids' => 'user-'.$id
]);
并在你的_form.php
中<?php $form = ActiveForm::begin([
'id' => $formids
]); ?>
答案 1 :(得分:0)
请参阅此扩展程序yii2-dynamicform。它允许您动态呈现表单但它有其局限性 - 例如,如果您呈现的表单具有例如Select2字段或任何其他窗口小部件字段,则无法使用它