我正在尝试根据数据库中的某些现有条件动态加载选择框的选项。有用的信息是有3个类,一个Pet,它有一个品种和类型,一个Breed,它有一个名字和类型,Type是类似'Dog'或'Cat'。
在编辑宠物时,我有两个从Doctrine / Symfony2填充的下拉列表。
Type [Select One]
Breed [Select One]
目前,品种选择列出了所有品种的狗和猫,我想选择'类型'并强制品种选择框仅根据该类型列出品种。
在使用Symfony之前,我使用原始的php / javascript完成了这项工作,并且在Symfony中有一些处理它的最佳实践。
任何建议都将不胜感激。我可以提供所需的任何其他信息,但希望尽可能简单。
答案 0 :(得分:0)
我没有在第一个选择中找到除.change 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);
}
});
});
请注意,Your_source / target_select是实体字段。 但似乎你得到了这一部分。
您可能想要使用FOSJSRoutingBundle => https://github.com/FriendsOfSymfony/FOSJsRoutingBundle 它允许您使用twig语法在您的JavaScript中构建路由。因此,它允许您访问其变量。