使用javascript symfony的getRepository
我使用Symfony 2.8,我有3个选择列表。从控制器中的存储库调用第一个和第二个选项,如下所示: controller使用javascript symfony的getRepository,javascript,php,jquery,ajax,symfony,Javascript,Php,Jquery,Ajax,Symfony,我使用Symfony 2.8,我有3个选择列表。从控制器中的存储库调用第一个和第二个选项,如下所示: controller $em=$this->getDoctrine()->getManager(); $categories = $em->getRepository('CentralBundle:Categorie')->findAll(); $sousCategories = $em->getRepository('CentralBundle:SousCateg
$em=$this->getDoctrine()->getManager();
$categories = $em->getRepository('CentralBundle:Categorie')->findAll();
$sousCategories = $em->getRepository('CentralBundle:SousCategorie')->findAll();
return $this->render('product.html.twig',array('categories'=>$categories,
'sousCategories' => $sousCategories));
小树枝
<ul class="nav nav-pills nav-stacked category-menu">
<select id="select-cat" class="form-control" name="carlist">
{% for cat in categories %}
<option value="{{cat.id}}">{{cat.nom}}<option>
{% endfor %}
</select>
</ul>
<ul class="nav nav-pills nav-stacked category-menu">
<select id="select-sc" class="form-control" name="carlist">
{% for sc in sousCategories %}
<option value="{{sc.id}}">{{sc.nom}}<option>
{% endfor %}
</select>
</ul>
{%类别中的类别为cat%}
{{cat.nom}}
{%endfor%}
{在sousCategories%中的sc为%s}
{{sc.nom}}
{%endfor%}
对于第三个选择列表,应在第一个和第二个选择列表的函数中调用它:它应显示在第一步中选择的带有“分类”和“分类日志”的产品WW。因此,我认为javascript应该这样做,但问题是如何在javascript中获取Repository以获得相应的产品列表,或者是否有其他解决方案可以做到这一点
谢谢大家您可以通过两种方式来实现 AJAX 首先在ajax中,只需听select1和select2更改,然后调用一个新操作,该操作将使用select1和select2值查询数据库,然后以JSON格式返回结果
$('.select1').change(function() {
populateSelect3();
});
$('.select2').change(function() {
populateSelect3();
});
function populateSelect3() {
$.ajax({
url : 'myurl',
type: 'post',
data : {'select1': $('.select1').val(), 'select2': $('.select2').val() },
success: function(data) {
// populate your select3
}
...
);
}
符号方式
Symfony表单组件提供了一种方法,可以根据事件动态更新表单,请参见此处
您必须创建一个自定义表单…谢谢,我将尝试这样做,并且我将回顾Symfony表单事件,event->getData()始终为空,对于JavaScript问题,问题是如何传递查询生成器!