Der Martin: Rechnen mit Javascript in einer Tabelle

Beitrag lesen

Hallo Felix,

name="myAuswahl[]"

wozu hat der Name eckige Klammern? Das macht man eigentlich dann, wenn die Daten serverseitig von PHP ausgewertet werden sollen, da PHP bei "Klammernamen" ein Array anlegt.

vielleicht hat Pit das mit genau diesem Zweck mal gesehen und unbewusst nachgemacht.

Für eine JS-basierte Lösung holst Du Dir alle Elemente, die den passenden Namen tragen und addierst die Werte im value-Attribut (dort sollten die Größen in Bytes stehen!), wenn die Checkbox gesetzt ist.

var bytes = 0; // Ergebnis
// alle ausgewählten Elemente mit name="myAuswahl[]"
document.querySelectorAll('[name="myAuswahl[]"]:checked')
.forEach(function (element) {
  bytes += element.value;
});
// In `bytes` steht einen Integer, den man nun nach KB/MB/GB umrechnen kann.

Ganz so einfach ist rs nicht, obwohl dein Lösungsansatz einen Extrapunkt für Eleganz verdient hätte. Du addierst hier die value-Angaben der Checkboxen. Die interessanten kB-Werte hat Pit aber in spans in völlig anderen Tebellenzellen stehen.

Abgesehen davon müsste Pit vermutlich auch sein HTML grundlegend in Ordnung bringen. Ich krieg's im Moment nicht eindeutig sortiert, aber es sieht für mich so aus, als wären tr- und td-Elemente ziemlich durcheinandergekommen.

Schönen Abend,
 Martin

--
Frage an die Kollegin am Montagmorgen: "Na, wie war dein Wochenende?"
Depressive Kollegin: "Hell, dunkel, hell, dunkel, Montag."