使用javascript symfony的getRepository

使用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

我使用Symfony 2.8,我有3个选择列表。从控制器中的存储库调用第一个和第二个选项,如下所示:

controller

$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问题,问题是如何传递查询生成器!