通过ajax更新Symfony的表单集原型

时间:2014-09-05 07:59:17

标签: ajax forms symfony

我使用Sytrfony构建了一个基于Doctrine实体的表单。表单包含表单集合。假设外部表单用于创建任务。可以将许多子任务添加到此任务(表单集合部分)。

任务表单包含一个选项字段“category”。 De子任务表单包含选择字段“subcategory”。子类别字段的值取决于为类别字段选择的值。为了实现这一点,我想在选择主要类别时通过AJAX更新表单原型。

JS的一部分可能并不那么难,所以我确信我会做到这一点。但我不知道该怎么做在服务器/ Symfony方面实现这一目标。任何正确方向的提示都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

您需要创建一个链接到控制器中新功能(操作)的路径,并将其命名为“ajaxGetSubCategoriesAction()”

实现它以获取所有子类别,然后像这样返回它们:

  //get the category id from ajax request 

  $categoryID = $request->request->get('category_id');

  //get all subcategories and return your result like this

  return new Response(json_encode($result));

然后在渲染类别的树枝中将数据字段放在form标签或div标签中        

您在JS文件中获取此数据路径,以了解您为获取子类别而创建的函数的路径。       $ posturl = $ formelement.data('path');       var categoryid = //从输入字段中获取它。       $就({             类型:“POST”,             url:$ posturl,             async:false,             dataType:“json”,             数据:{                 category_id:categoryid             }

    }).done(function (response) {
        inside response you will have all the subcategories returned from your ajaxGetSubCategories function
      }