如何使用Symfony2+细枝渲染动态选择

如何使用Symfony2+细枝渲染动态选择,symfony,twig,symfony-forms,Symfony,Twig,Symfony Forms,我试图根据数据库中的一些现有条件动态加载选择框的选项。有用的信息是有3个类,一个宠物有一个品种和类型,一个品种有一个名称和类型,类型类似于“狗”或“猫” 编辑宠物时,我有两个下拉列表,分别来自条令/Symfony2 Type [Select One] Breed [Select One] 目前,品种选择列出了所有品种的狗和猫,我想选择'类型',并迫使品种选择框只列出基于该类型的品种 在使用Symfony之前,我已经使用原始php/javascript完成了这项工作,我认为在Symfony中处理

我试图根据数据库中的一些现有条件动态加载选择框的选项。有用的信息是有3个类,一个宠物有一个品种和类型,一个品种有一个名称和类型,类型类似于“狗”或“猫”

编辑宠物时,我有两个下拉列表,分别来自条令/Symfony2

Type [Select One]
Breed [Select One]
目前,品种选择列出了所有品种的狗和猫,我想选择'类型',并迫使品种选择框只列出基于该类型的品种

在使用Symfony之前,我已经使用原始php/javascript完成了这项工作,我认为在Symfony中处理它有一些最佳实践


如有任何建议,将不胜感激。我可以提供所需的任何附加信息,但希望尽可能简单。

除了在第一次选择时更改jquery,然后使用所选选项调用ajax来重新填充目标选择之外,我没有找到任何其他方法

$('#Your_source_select').change(function()
{
    $.ajax({
    type: 'POST',
    url: Routing.generate('AJAXDevisOnduleurOptions', { onduleurId: $('#Your_source_select').val() }),
    success: function(msg){
        $('#Your_target_select').children().remove().end().append(msg);
    }
});
});
请注意,您选择的源/目标是实体字段。 但你似乎得到了那个角色

您可能希望使用FOSJSRoutingBundle=>
它允许您使用twig语法在javascript中构建路由。因此,它允许您访问其变量。

太好了,谢谢David。我使用了jQuery,刚刚使用了.load,但我将检查JSRouting捆绑包。