Dynamische Felder zusammen rechnen

hoctar

Erfahrenes Mitglied
Hallo :)
ich habe eine Tabelle die mit php erzeugt wird. Die Einträge sind dynamisch(hier als Beispiel nur 3 Einträge)

|Preis|Checkbox|
| 3 | o |
| 2 | o |
| 7 | o |

Das "o" soll eine Checkbox darstellen, wenn sagen wir mal 3 und 2 markiert sind, soll javascript die selektierten Preise zusammen zählen(in dem Fall 3+2).

Ich bekommen das leider irgendwie nicht hin. Kann mir da einer etwas helfen ? :-)
 
Hi,

und wie sieht dein bisheriger Versuch konkret aus? Oder erwartest du hier von uns aus dem Stand heraus einen gebrauchsfertigen Codeschnipsel?

Ansonsten empfehle ich dir unsere hervorragende Suchfunktion, denn diese Frage wurde hier nämlich schon desöfteren erörtert, und die Suchergebnisse dürften dir den einen oder anderen Lösungsansatz liefern.

mfg Maik
 
Sorry ^^ hätte gleich mein Script hinzupacken sollen :)

HTML:
<html>

<head>

<script language="JavaScript">
<!--
function addition()
{
var sumer = 0;

for(i=0; i < document.demo.elements.length; i++)
 {
   
       if (document.demo.elements[i].checked) {
        summe = summe + document.demo.elements[i].value;
       }
   
 }
document.demo.anzeige.value = summe;
}
//-->
</script>                      <!-- Script-Bereich beenden -->

</head>
<body onLoad="addition();">
<form name="demo">

<input type=checkbox name="punkte" value="1" onClick="addition()">1<br>

<input type=checkbox name="punkte" value="2" onClick="addition()">2<br>

<input type=checkbox name="punkte" value="3" onClick="addition()">3<br>

<input type=checkbox name="punkte" value="4" onClick="addition()">4<br>

<textarea cols="20" rows="5" type=text name="anzeige" readonly></textarea>

</form>
</body>
</html>
 
Zuletzt bearbeitet:
Moin,

erstmal:was haben die Sumerer damit zu Tun?:-)

Weiterhin: Werte von Formularfeldern sind immer vom Typ String.

Wenn du addieren willst, statt Strings zu verketten, wandle den Wert vorher in einen numerischen Typ um:
Code:
function addition()
{
var summe = 0;

for(i=0; i < document.demo.elements.length; i++)
 {
   
       if (document.demo.elements[i].checked) {
        summe+=Number(document.demo.elements[i].value);
       }
   
 }
document.demo.anzeige.value = summe;
}
 

Neue Beiträge

Zurück