2016-05-12 14 views
0

Ich erstellte eine Tabelle in Zweig Vorlage. In der ersten Spalte können Sie ein Kontrollkästchen aktivieren. Nach dem Aktivieren des Kontrollkästchens sollte die Zeile entfernt werden. Mein Problem ist, wie ich die Daten dazu bringen kann, sie zu entfernen.So erhalten Sie Daten aus der Tabelle im Zweig, indem Sie ein Kontrollkästchen aktivieren

Hier ist mein Tisch

<table class="table table-bordered table-striped table-hover"> 
     <thead> 
      <tr> 
        <th> <label for="checbox">Check</label></th> 
        <th>id</th> 
        <th>Name</th> 
        <th>Age</th> 
      </tr> 
     </thead> 
     <tbody> 
      {% for products in user.products %} 
      <tr> 
      <td><input type="checkbox" name="checkBox" id="ic" value=true/></td> 
       <td >{{ products.id }}</a></td> 
       <td >{{ products.name }}</td> 
      </tr> 
      {% endfor %} 


     </tbody> 
    </table> 

if(isset($_POST['checkBox'])== 'true'){ 

     $products = $_POST['??????']; 


     $zl = 0; 
     foreach ($products as $pr) 
     { 
      $em = $this->getDoctrine()->getManager(); 
      $pr = $em->getRepository('UserBundle:Products')->find($pr); 
      $user->removeProduct($pr); 
      ++$zl; 
     } 


     $em->persist($user); 
     $em->flush(); 

}

Wie kann ich die Daten bekommen? $products = $_POST['??????']; I don "t wissen, welche Parameter Ich habe hier setzen die Daten aus der gewählten Option zu erhalten.

+0

Ich rate Ihnen, diese in Ajax zu tun. Versuchen Sie, Ihren PHP-Code in eine Datei zu schreiben, die Sie mit Ajax über Javascript aufrufen. – KubiRoazhon

Antwort

0

ändern Checkbox Wert von true Produkt-ID rudern und prüfen, ob $_POST['checkBox'] Array ist, und es ist nicht leer.

<input type="checkbox" name="checkBox" id="ic" value=true/> 

mit

<input type="checkbox" name="checkBox[]" id="ic" value="{{ products.id }}" /> 

und PHP Teil Ersetzen HTML-Teil

if(isset($_POST['checkBox'])== 'true'){ 

    $products = $_POST['??????']; 

mit

if(isset($_POST['checkBox']) && !empty($_POST['checkBox'])){ 

    $products = $_POST['checkBox']; 
+0

Danke. Könnte ein Beispiel schreiben? –

+0

Ich habe meine Antwort aktualisiert –

+0

Und natürlich müssen Sie die Tabelle innerhalb des Formular-Tags, die auf die entsprechende Aktion zeigt und platzieren Sie eine Schaltfläche "ausgewählte Produkte löschen", um es einzureichen –

Verwandte Themen