选择更改时更改帮助消息

时间:2016-05-30 10:09:59

标签: php symfony

我有一个带有选择字段的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`选项的值。

我尝试使用EventListenerEventSubscriber但是当选择更改时这不起作用。

我该怎么做?我应该使用ajax来更改此消息还是php足够好?

感谢您的帮助。

1 个答案:

答案 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>

根据所选值

更新帮助块