2012-02-20 128 views
1

我试图根据我的数据库中的一些现有条件动态加载选择框的选项。有用的信息是,有3个类,一个宠物,它有一个品种和类型,一个品种,它有一个名称和类型,以及类型,就像'狗'或'猫'。如何使用Symfony2 +树枝渲染动态选择

编辑宠物时,我有两个从Doctrine/Symfony2填充的下拉列表。

Type [Select One] 
Breed [Select One] 

目前的品种选择列表狗和猫的所有品种,我想选择“类型”和有力量的犬种选择框来基于该类型唯一上榜品种。

在使用Symfony之前,我已经使用原始的php/javascript完成了这个想法,这里有一些在Symfony中处理它的最佳实践。

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

回答

0

我没有发现任何其他的方式,而不是第一次选择更改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 它允许您使用树枝语法在JavaScript中构建路由。所以它允许你访问它的变量。

+0

太好了,谢谢大卫。我去了jQuery,刚刚使用.load,但我会检查出JSRouting Bundle。 – John 2012-02-21 23:56:29