链接两个字段,选择symfony2类型
我使用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增强,无需重新加载,数量少 创建一个实体字段类型的选择字段,显示所有城市并用于按国家分
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在国家/地区选择上加载子表单来增强
希望您能想到:您想先选择国家,然后选择城市?选择国家后,是否重新生成带有城市的选择元素?我是对的?