【发布时间】:2025-12-22 14:20:13
【问题描述】:
我搜索了很多,但找不到这个相当简单的问题的答案:
在 Symfony 2.8 中,我有一个表单,它呈现一个国家/地区字段。根据它的选择,我只想为选择“德国”(数据“D”)显示邮政编码和联邦州字段。这是国家/地区字段的代码:
->add('nationveranstaltungsort', ChoiceType::class, array(
'choices' => array(
'D' => 'Deutschland',
'AFG' => 'Afghanistan',
//many other countries following
),
'data' => 'D',
'label' => 'Nation Tagungsstätte'))
它预先填充了选项“Deutschland”,数据“D”。
基于我要动态显示:
->add('plzveranstaltungsort', TextType::class, array('label' => 'PLZ', 'attr' => array('size' => '5', 'maxlength' => '5')))
->add('bundeslandveranstaltungsort', ChoiceType::class, array(
'choices' => array(
0 => ' ',
1 => 'Baden-Württemberg',
2 => 'Bayern',
3 => 'Berlin',
4 => 'Brandenburg',
5 => 'Bremen',
6 => 'Hamburg',
7 => 'Hessen',
8 => 'Mecklenburg-Vorpommern',
10 => 'Nordrhein-Westfalen',
11 => 'Rheinland-Pfalz',
12 => 'Saarland',
13 => 'Sachsen',
14 => 'Sachsen-Anhalt',
15 => 'Schleswig-Holstein',
16 => 'Thüringen',
),
'data' => 0,
'label' => 'Bundesland Tagungsstätte'))
如果未选择“德国”,我只想隐藏/禁用这些字段(并在其他地方处理空值)。
我尝试了http://symfony.com/doc/current/form/dynamic_form_modification.html 和其他一些 javascript 的东西,但由于我基本上不知道任何 JS,所以我找不到任何合适的资源。
【问题讨论】:
-
如果您发布了 Country Form 类类型的完整代码,我们可以给您一个“更好”的答案。不管怎样,我看看能不能给出一个简单的答案。
标签: javascript php symfony