In einer Tabelle mit PHP alle Checkboxen aktivieren

CreativPur

Erfahrenes Mitglied
Ich habe eine Tabelle

table.png
wo ich die Möglichkeit des Löschens habe.
Jetzt möchte ich zum löschen alle markieren auswählen können.

Als script habe ich folgendes erstellt..
Javascript:
<script language="JavaScript">
function CheckboxenAktivieren(objCheck, strID)  {
  var arrChilds = document.getElementById(strID).childNodes;
  var blnCheck = objCheck.checked;
    for(var i=0; i<arrChilds.length; i++)    {
          if(arrChilds[i].type == "checkbox")      {
        arrChilds[i].checked = (blnCheck)? true : false;
    }   
  }
}
</script>

der Button für den Befehl...
HTML:
Alle markieren    <input type="checkbox" onClick="CheckboxenAktivieren(this,'group4');">

und nun das Formular, wo die Checkboxen aktiviert werden sollen..
Code:
<form action="postfach.php?loeschen" method="post" id="group4">
<input class="form-check-input" type="checkbox" name="loeschen_test[]" value="<?php echo $user['id'] ?>" >
</form>

Leider wird nur der erste Datensatz beim Klicken auf den Befehlsbutton aktiviert.

Worin liegt der Fehler ?
 
Bei mir funktioniert dein Code einwandfrei. Wenn bei dir nicht, liegt es sicherlich daran, dass die Checkboxen keine direkten Kinder des Formulars sind sondern noch ein Element darum herum liegt.
Ich würde das etwas anders aufziehen, ohne childNodes, dann stellt sich das Problem nicht:
Code:
    <script>
        function CheckboxenAktivieren(objCheck, strID) {
            const
                arrCheckboxes = document.querySelectorAll(`#${strID} input[type="checkbox"]`);
            arrCheckboxes.forEach(input => {
                input.checked = objCheck.checked;
            });
        }
    </script>
 

Neue Beiträge

Zurück