链接两个字段,选择symfony2类型

链接两个字段,选择symfony2类型,symfony,symfony-2.1,symfony-forms,Symfony,Symfony 2.1,Symfony Forms,我使用Symfony2,我想看看如何使用表单事件链接两个字段选择类型。 第一个字段包含城市,第二个字段包含国家 以下是我的实体: user - id - name - IdCity city - id - CityName - IdCountry country - id - countryName 谢谢。解决方案1 不使用javascript工作,使用javascript增强,无需重新加载,数量少 创建一个实体字段类型的选择字段,显示所有城市并用于按国家分

我使用Symfony2,我想看看如何使用表单事件链接两个字段选择类型。 第一个字段包含城市,第二个字段包含国家

以下是我的实体:

user
  - id
  - name
  - IdCity

city
  - id
  - CityName
  - IdCountry

country
  - id
  - countryName
谢谢。

解决方案1 不使用javascript工作,使用javascript增强,无需重新加载,数量少

创建一个实体字段类型的选择字段,显示所有城市并用于按国家分组

使用javascript type=hidden隐藏单个分组选择字段 使用JavaScript将select字段拆分为组的country字段,并为cities添加第二个字段 如果国家/地区触发onchange事件,请更改城市字段 如果城市字段触发onchange事件,则更改隐藏字段 这样,您就可以保存创建第二个表单所需的代码,插入当前国家/地区,使用第二个queryBuilder进行筛选。。。如果你有很多城市,即使有一个缓存的结果,你输出太多。。。选择解决方案2

解决方案2 城市数量巨大,因此需要加载按国家/地区选择筛选的城市

为国家/地区创建具有实体字段类型的表单 将当前选择的国家/地区传递到表单中-默认为null,即从您的操作或注入请求并从那里读取 为城市创建实体字段类型的子窗体 如果从请求读取的所选国家/地区为空-不要将子窗体添加到生成器中 如果存在->添加子表单,并使用queryBuilder城市字段类型按国家筛选城市 通过AJAX在国家/地区选择上加载子表单来增强
希望您能想到:

您想先选择国家,然后选择城市?选择国家后,是否重新生成带有城市的选择元素?我是对的?