Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2中的Ajax自由链接下拉菜单_Php_Ajax_Forms_Dynamic_Symfony - Fatal编程技术网

Php Symfony2中的Ajax自由链接下拉菜单

Php Symfony2中的Ajax自由链接下拉菜单,php,ajax,forms,dynamic,symfony,Php,Ajax,Forms,Dynamic,Symfony,因此,我有三个实体,城市,州和国家,我希望用户首先选择一个国家,缩小可用州的范围,然后当一个州在选定的时候,缩小可用城市的范围。相当直截了当,对吧 如果不需要是动态的,您可以使用实体表单类型,然后使用query\u builder缩小返回结果的范围,如下所示: ->add('city', 'entity', array( 'class' => 'ISFP\Registration\RegisterSchoolAdminBundle\Entity\City',

因此,我有三个实体,城市,州和国家,我希望用户首先选择一个国家,缩小可用州的范围,然后当一个州在选定的时候,缩小可用城市的范围。相当直截了当,对吧

如果不需要是动态的,您可以使用实体表单类型,然后使用
query\u builder
缩小返回结果的范围,如下所示:

    ->add('city', 'entity', array(
        'class' => 'ISFP\Registration\RegisterSchoolAdminBundle\Entity\City',
        'query_builder' => function ($repository) use ($stateId) {
            return $repository
                ->createQueryBuilder('e')
                ->where('e.stateid = :stateid')
                ->setParameter('stateid', $stateId)
            ;
或者类似的。有没有简单的方法可以做到这一点?我听说过使用表单事件,但老实说,我甚至不知道从哪里开始


有人能给我指出正确的方向吗?我读了很多关于这个主题的博客,但我无法复制它们的结果。

为什么它必须是AJAX免费的?在没有AJAX的情况下,我能看到的唯一方法是将所有数据发送到客户端,并用JavaScript过滤所需的结果。感谢您的回复topaz1008,如果可能的话,我真的不想给项目增加任何额外的复杂性,但我想您可能是对的。再次干杯。