Hallo,
folgende Situation : ich erstelle dynamisch eine HTML Tabelle, in der jeweils in der letzten Spalte eine Checkbox mit einer ID sitzt.
(der Einfachheit halber habe ich diese hier simpel dargestellt und wo die Checkboxen sitzen ein X gesetzt).
Die Checkboxen nutze ich, um die Id´s der zu löschenden Datensätze zu erfassen.
Per Click Event auf die Checkbox lösche ich jeweils die betroffenen Zeilen erst einmal in der Tabelle per Javascript,
um anschliessend einen Post Request an meine php Datei zu schicken, um die Daten in meiner Datenbank dann definitiv zu löschen.
Das Löschen (bzw. Verstecken) der angeklickten Zeilen erledige ich mit "display none".
Was mich jedoch daran stört ist die Tatsache, dass meine php Datei ja lediglich nur die Id´s mit den zu löschenden Zeilen erhalten muss
und ich mit meiner bisherigen Methode ja trotzdem alle Daten der gesamten zu löschenden Zeilen übertragen werden.
Somit ist mein Ziel, per Click auf die Checkboxen alle Daten meiner Tabellenreihe zu löschen und nur die letzte Zelle der Tabellenzeile auszublenden, da ja in der die Checbkox mit der Id sitzt.
Das habe ich mit folgendem Code erledigt, was auch funktioniert :
Ich frage mich, ob dies der beste Weg ist und nicht ein bisschen kürzer/effektiver geht und habe dies mit folgender Zeile probiert,
welche jedoch einen Fehler wirft :
Habe ich nur einen Syntaxfehler in meinem Befehl oder einen Denkfehler, da ich vielleicht wirklich nicht drum rumkomme,
die gesammte Collection der td´s zu durchlaufen ?
folgende Situation : ich erstelle dynamisch eine HTML Tabelle, in der jeweils in der letzten Spalte eine Checkbox mit einer ID sitzt.
(der Einfachheit halber habe ich diese hier simpel dargestellt und wo die Checkboxen sitzen ein X gesetzt).
Die Checkboxen nutze ich, um die Id´s der zu löschenden Datensätze zu erfassen.
Per Click Event auf die Checkbox lösche ich jeweils die betroffenen Zeilen erst einmal in der Tabelle per Javascript,
um anschliessend einen Post Request an meine php Datei zu schicken, um die Daten in meiner Datenbank dann definitiv zu löschen.
Das Löschen (bzw. Verstecken) der angeklickten Zeilen erledige ich mit "display none".
Was mich jedoch daran stört ist die Tatsache, dass meine php Datei ja lediglich nur die Id´s mit den zu löschenden Zeilen erhalten muss
und ich mit meiner bisherigen Methode ja trotzdem alle Daten der gesamten zu löschenden Zeilen übertragen werden.
Somit ist mein Ziel, per Click auf die Checkboxen alle Daten meiner Tabellenreihe zu löschen und nur die letzte Zelle der Tabellenzeile auszublenden, da ja in der die Checbkox mit der Id sitzt.
Das habe ich mit folgendem Code erledigt, was auch funktioniert :
Code:
document.getElementById("table").addEventListener("click", (e) => { myRow = (e.target.closest("tr")); myTds = myRow.children; console.log(myTds); for (let i = 0; i < myTds.length +1; i++) { myTds[0].remove(); } myTds[0].style.display = "none"; })
HTML-Code:
<table id="table"> <tr> <th>Bank</th> <th>Konto</th> <th>Iban</th> <th></th> </tr> <tr> <td>Fortis</td> <td>Kbc</td> <td>Belfius</td> <td>X</td> </tr> <tr> <td>Deutsche Bank</td> <td>Reiffeisen</td> <td>Sparkasse</td> <td>X</td> </tr> </table>
welche jedoch einen Fehler wirft :
Code:
myRow.children:not(:last-child).remove();
die gesammte Collection der td´s zu durchlaufen ?
Kommentar