我有两个表单拥有相同的模型属性,因为 Yii2 生成的字段 id 是ModelName-fieldName所以生成的字段如下:
<select name="Channel[channel]" class="form-control" id="channel-description">
我曾尝试在 Activeform 中使用fieldConfig ,但它不会将 id 添加到字段本身。
我有两个表单拥有相同的模型属性,因为 Yii2 生成的字段 id 是ModelName-fieldName所以生成的字段如下:
<select name="Channel[channel]" class="form-control" id="channel-description">
我曾尝试在 Activeform 中使用fieldConfig ,但它不会将 id 添加到字段本身。
您应该简单地使用的第三个参数ActiveForm::field()
:
$options
:字段对象的附加配置。
例如:
$form->field($model, 'channel', ['inputOptions' => ['id' => 'channel-description']])
阅读有关ActiveForm::field()的更多信息。
但是,如果您真的想为所有字段 id 添加前缀,则应该覆盖ActiveForm
.
如果要保存输入 id 结构“{model}-{attribute}”。
使用 yii\helpers\Html::getInputId() 生成 "{model}-{attribute}" 输入 id 并使用您的自定义前缀完成它。
$form->field($model, 'name')->textInput(['id' => 'custom-' . Html::getInputId($model, 'name')])
如果您id
为输入元素设置自定义,您可能需要相应地调整 [[$selectors]]。
<?= $form->field($searchModel, 'regId',[
'selectors' => ['input' => '#company-vacancy-regId'],
'inputOptions' => ['id' => 'company-vacancy-regId'],
])->widget()?>