如何为activeForm中的字段添加id前缀?
How to add id preix for field in activeForm?
我有两个表单拥有相同的模型属性,因为 Yii2 生成字段 id 为 ModelName-fieldName 所以生成的字段将如下所示:
<select name="Channel[channel]" class="form-control" id="channel-description">
我曾尝试在 Activeform 中使用 fieldConfig,但它不会将 id 添加到字段本身。
你应该简单地使用 ActiveForm::field()
的第三个参数:
$options
: The additional configurations for the field object.
例如:
$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()?>
我有两个表单拥有相同的模型属性,因为 Yii2 生成字段 id 为 ModelName-fieldName 所以生成的字段将如下所示:
<select name="Channel[channel]" class="form-control" id="channel-description">
我曾尝试在 Activeform 中使用 fieldConfig,但它不会将 id 添加到字段本身。
你应该简单地使用 ActiveForm::field()
的第三个参数:
$options
: The additional configurations for the field object.
例如:
$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()?>