我有一个带有选择字段的symfony表单。
$builder
->add('automaticPaymentMethod', EnumType::class, [
'class' => AutomaticPaymentMethod::class,
'horizontal' => false,
'label_render' => false,
'translation_domain' => 'global',
'prefix_label_with_class' => true,
])
;
使用此枚举类
final class AutomaticPaymentMethod extends AbstractEnum
{
const NONE = 'none';
const CREDIT_CARD = 'card';
const BANK_ACCOUNT = 'bank';
}
当我选择的值发生变化时,我正在尝试使用翻译文件中的翻译消息更改help_block`选项的值。
我尝试使用EventListener
和EventSubscriber
但是当选择更改时这不起作用。
我该怎么做?我应该使用ajax来更改此消息还是php足够好?
感谢您的帮助。
答案 0 :(得分:0)
要控制选择字段更改,您必须通过javascript进行操作,在其他情况下,您必须加载所有表单,如果我必须这样做,我将帮助块的翻译放在select和中的数据属性中根据选择值显示此信息。例如:
<select>
<option value="1" data-help-block="{{ 'help block 1'|trans() }}"/>
<option value="2" data-help-block="{{ 'help block 2'|trans() }}"/>
</select>
根据所选值
更新帮助块