我正在 Symfony 应用程序中开发一个表单,其中用户必须使用 HTMLselect
元素指示一个国家、一个地区和一个可选的岛屿。
我有三个模型:Country、Region 和 Island;Symfony 使用小部件在表单中自动生成了三个小sfWidgetFormDoctrineChoice
部件:
...
'country_id' => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Country'), 'add_empty' => false)),
'region_id' => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Region'), 'add_empty' => false)),
'island_id' => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Island'), 'add_empty' => true)),
...
由于国家列表和地区列表很大,我一直在考虑根据 Country 中选择的值过滤可用Region
的选项。Island
使用 jQuery 的change
方法和一个简单的 AJAX 请求,在 HTML 文档准备好之后执行此操作很容易。但我想知道是否有一种方法可以直接从 Symfony 执行此操作,也许是在表单配置中,以获得默认的组合选择。
有什么建议么?
谢谢!