2016-05-30 37 views
1

我有一個小小的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足夠好?

感謝您的幫助。

回答

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> 

而更新的幫助塊根據所選擇的值