gpt4 book ai didi

yii2 在下拉列表中选择 'other' 选项时插入一个值

转载 作者:行者123 更新时间:2023-12-01 03:32:37 25 4
gpt4 key购买 nike

我的表单中有一个下拉列表,我想让用户选择“其他”选项,这样他就可以在文本框中插入一个值,而不是下拉列表中的值。这可能吗?

<?= $form->field($model, 'institution')->dropDownList(ArrayHelper::map(Institution::find()->all(), 'iId', 'name'),    ['class'=>'form-control inline-block']); ?>

我想用 radioList 做同样的事情。

<?= $form->field($model, 'selfDescription')->radioList(array('good'=>'good','very good'=>'very good','best'=>'best')); ?>

谢谢。

最佳答案

首先。向 dropDownList 添加“其他”选项。并在您的前端使用 JS 处理它

$form
->field($model, 'institution')
->dropDownList(
ArrayHelper::map(Institution::find()->all(),
'iId',
'name'
) + ['other' => 'Other'],
[
'class'=>'form-control inline-block',
// next code disables text field when any but "other" option is selected
// works for jQuery 1.6+
'onchange' => new JsExpression('
$("#textFieldSelector").prop("disabled", $(this).find("option:selected").val() != "other");'),
]
);

然后您需要正确设置您的验证器。只需添加

['textField', 'required', 'when' => function($model) {
return $model->institution === 'other';
}]

关于yii2 在下拉列表中选择 'other' 选项时插入一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33060890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com