symfony2列表复选框值

symfony2列表复选框值,symfony,twig,Symfony,Twig,当我尝试在控制器中选中复选框列表时,出现问题 我的控制器: public function comparaisonAction() { $request = $this->get('request'); $ids=$request->get('assur'); foreach($_POST['assur'] as $valeur) { echo "Checkbox $valeur has been checked<br>";

当我尝试在控制器中选中复选框列表时,出现问题

我的控制器:

public function comparaisonAction() {
    $request = $this->get('request');
    $ids=$request->get('assur');
    foreach($_POST['assur'] as $valeur)
    {
        echo "Checkbox $valeur has been checked<br>";
    }

    foreach($ids as $value) {

        $entities=$value;
    }
    var_dump($entities);

    $em=$this->getDoctrine()->getManager();
    //$assur1=$em->getRepository("CMSiteBundle:Offresante")->findOneBy(array('idassurance'=>$idassur));
    //$queryimg1=$em->getRepository("CMSiteBundle:Assurance")->findOneBy(array('id'=>$idassur));
    //$assur2=$em->getRepository("CMSiteBundle:Offresante")->findOneBy(array('idassurance'=>$id2));
    //$queryimg2=$em->getRepository("CMSiteBundle:Assurance")->findOneBy(array('id'=>$id2));
    //$img1=$queryimg1->getImage();
    //$img2=$queryimg2->getImage();

    //return $this->render('CMSiteBundle:Sante:ComparaisonSante.html.twig',array('assurance1'=>$queryimg1,'img1'=>$img1,'id'=>$idassur));
    return $this->render('CMSiteBundle:Sante:ComparaisonSante.html.twig',array('id'=>$entities));
 }
我的看法是:

{% for ass in assurance %}
     .....
    <div style="padding-left:40px;padding-bottom:20px" ><input type="checkbox" name="assur[]"   value={{ass.ident}}  /></div>
{% endfor %}

您需要将复选框数组传递给视图,并测试当前复选框值是否在传递的数组中:

public function fooAction() {
    //...
    //...
    return $this->render('CMSiteBundle:Sante:ComparaisonSante.html.twig', [
        'chk_foo' => isset($_POST['chk_foo']) ? $_POST['chk_foo'] : [],
    ]);
}
小树枝


已经有4个用户对你的问题投了否决票,因为你刚刚扔掉了一些代码,希望我们猜你的问题是什么。请阅读本页:
{% for foo in foos %}
   {% set checked = foo.id in chk_foo|default({}) ? ' checked' : '' %}
   <input type="checkbox" name="chk_foo" value="{{ foo.id }}"{{ checked }} />
{% endfor %}