• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

einzelne <td> auslesen

devilseye

Neues Mitglied
hi alle
mal ne frage kann ich mit javaScript ein <td> auslesen und in einer variabeln zwischen speichern, damit ich dann 2 <td> in einem 3. zusammenrechnen kann.
Oder ist das nur mit php möglich?
 
Code:
document.getElementById("td1").firstChild.nodeValue = +document.getElementById("td1").firstChild.nodeValue + +document.getElementById("td2").firstChild.nodeValue;
Wobei die Frage ist, warum du das nicht gleich mit PHP zusammenrechnest, wenn die Daten eh statisch sind.
 
die daten werden etwa alle 2-3 wochen erneuert. danke vielmal.
Kannst du mir noch schnell näher bringen was man mit dem code gerade bewirkt?

ich habe folgende Tabelle (die ist nur als beispiel die effektive tabelle hat dann 58 Reihen und etwa 10 spalten)

HTML:
<table>
    <thead>
        <tr>
            <th>Rank</th>
            <th>Name</th>
            <th>Spiele</th>
            <th>Tore</th>
            <th>Tore pro Spiel</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>Tobias Landolt</td>
            <td id="td1">268</td>
            <td id="td2">124</td>
            <td></td>
        </tr>
    </tbody>
</table>

mfg devilseye
 
Zuletzt bearbeitet:
okey meine eigene dummheit steht mir mal wieder im weg. Ich möchte das nur 2 Stellige Kommazahlen rauskommen ich weiss das ich die variante toFixed() brauche aber ich weiss nicht wo ich dieses einsetzen muss.
 
Jetzt wäre auch die Frage. Kannst du das nicht in PHP umsetzen? Das würde dir Arbeit ersparen.
Ansonsten rundets du in Javascript so:

var gerundete Zahl = Math.round(Zahl*100)/100;

Um zu zeigen was passiert. Du hast die Zahl: 123,4567
Nun wird mal 100 gerechnet. Nun hast du: 12345,67
Es wird gerundet. Nun hast du: 12346
Du teilst wieder durch 100: 123,46

Woher kommen denn deine Daten wieviele Spiele und Tore jemand hat? Datenbank? Datei? So ins HTML geschrieben?
 
Code:
document.getElementById("td1").firstChild.nodeValue = (+document.getElementById("td1").firstChild.nodeValue + +document.getElementById("td2").firstChild.nodeValue).toFixed(2);
 
Okey das hab ich nun
HTML:
<html>

<head>

<title>Tabellen Test</title>
<script type="text/javascript">
window.onload = function () {
        document.getElementById("td3").firstChild.nodeValue = (document.getElementById("td2").firstChild.nodeValue / document.getElementById("td1").firstChild.nodeValue).toFixed(2);
        document.getElementById("td6").firstChild.nodeValue = parseInt(document.getElementById("td4").firstChild.nodeValue) + parseInt(document.getElementById("td5").firstChild.nodeValue);
        document.getElementById("td7").firstChild.nodeValue = (document.getElementById("td6").firstChild.nodeValue / document.getElementById("td1").firstChild.nodeValue).toFixed(2);
        document.getElementById("td8").firstChild.nodeValue = parseInt(document.getElementById("td2").firstChild.nodeValue) + parseInt(document.getElementById("td6").firstChild.nodeValue);
        document.getElementById("td9").firstChild.nodeValue = (document.getElementById("td8").firstChild.nodeValue / document.getElementById("td1").firstChild.nodeValue).toFixed(2);
    }
</script>
<style type="text/css">
    table { width : auto ; text-align: center ; border-left : 1px solid #000 ; }
    thead { background-color : #000 ; color : #fff ; }
    th, td { width : 100px ; border-bottom : 1px solid #000 ; border-right: 1px solid #000 ; }
</style>
</head>

<body>
<table cellpadding="2px" cellspacing="0">
    <thead>
        <tr>
            <th>Rank</th>
            <th>Name</th>
            <th>Spiele</th>
            <th>Tore</th>
            <th>Tps</th>
            <th>1.As</th>
            <th>2.As</th>
            <th>AsG</th>
            <th>ApS</th>
            <th>Pkte</th>
            <th>PpS</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1.</td>
            <td>Tobias Landolt</td>
            <td id="td1">268</td>
            <td id="td2">129</td>
            <td id="td3">&nbsp;</td>
            <td id="td4">124</td>
            <td id="td5">36</td>
            <td id="td6">&nbsp;</td>
            <td id="td7">&nbsp;</td>
            <td id="td8">&nbsp;</td>
            <td id="td9">&nbsp;</td>
        </tr>
    </tbody>
</table>
</body>

</html>

wenn ich nun mehrere Reihen hab stellt sich mir die frage wie ich diese auslesen kann ohne dass ich den ganzen Code ständig wiederholen muss und hunderte id's vergeben muss.
Ich nehme an ich muss den <tr> eine id geben.

Lg devilseye
 
Das solltest du nun wirklich mit PHP machen. Ansonsten tableRef.tBodies[0].rows loopen und jeweils die entsprechenden cols[] anpassen.
 
Zurück
Oben