我使用Sytrfony构建了一个基于Doctrine实体的表单。表单包含表单集合。假设外部表单用于创建任务。可以将许多子任务添加到此任务(表单集合部分)。
任务表单包含一个选项字段“category”。 De子任务表单包含选择字段“subcategory”。子类别字段的值取决于为类别字段选择的值。为了实现这一点,我想在选择主要类别时通过AJAX更新表单原型。
JS的一部分可能并不那么难,所以我确信我会做到这一点。但我不知道该怎么做在服务器/ Symfony方面实现这一目标。任何正确方向的提示都将受到赞赏。
答案 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
}