6

我有两个表单拥有相同的模型属性,因为 Yii2 生成的字段 id 是ModelName-fieldName所以生成的字段如下:

<select name="Channel[channel]" class="form-control" id="channel-description">

我曾尝试在 Activeform 中使用fieldConfig 它不会将 id 添加到字段本身。

4

3 回答 3

6

您应该简单地使用的第三个参数ActiveForm::field()

$options:字段对象的附加配置。

例如:

$form->field($model, 'channel', ['inputOptions' => ['id' => 'channel-description']])

阅读有关ActiveForm::field()的更多信息。

但是,如果您真的想为所有字段 id 添加前缀,则应该覆盖ActiveForm.

于 2016-05-02T08:06:41.153 回答
1

如果要保存输入 id 结构“{model}-{attribute}”。

使用 yii\helpers\Html::getInputId() 生成 "{model}-{attribute}" 输入 id 并使用您的自定义前缀完成它。

$form->field($model, 'name')->textInput(['id' => 'custom-' . Html::getInputId($model, 'name')])
于 2018-06-02T11:50:20.257 回答
0

如果您id为输入元素设置自定义,您可能需要相应地调整 [[$selectors]]。

<?= $form->field($searchModel, 'regId',[
            'selectors' => ['input' => '#company-vacancy-regId'],
            'inputOptions' => ['id' => 'company-vacancy-regId'],
        ])->widget()?>
于 2020-03-27T10:43:12.190 回答