Hallo Leute!
Habe da ein kleines Problem mit meiner OnCLick Funktion:
<form name="liste">
<ul class="Getraenkeliste">
<li>Distelhäuser Pils<input type="checkbox" name="Distel" id="g1" value="2.90" onclick="calcPrice()" class="getraenk"></input> </li>
<li>Würzburger Hofbräu<input type="checkbox" name="WueHo" id="g2" value="3.90" onlcick="calcPrice()" class="getraenk"></input></li>
<li>Sternla<input type="checkbox" name="SternlaBier" id="g3" value="2.80" onlcick="calcPrice()" class="getraenk"></li>
<li>Spalter<input type="checkbox" name="SpalterBier" id="g4" value="2.50" onlcick="calcPrice()" class="getraenk"></li>
<li>Salitos<input type="checkbox" name="SalitosBier" id="g5" value="3.20" onlcick="calcPrice()" class="getraenk"></li>
<li>Estrella<input type="checkbox" name="EstrellaBier" id="g6" value="3.00" onlcick="calcPrice()" class="getraenk"></li>
<li>Weizen<input type="checkbox" name="WeizenBier" id="g7" value="3.80" onlcick="calcPrice()" class="getraenk"></li>
</ul>
</form>
<div id="preisfeld">
<p> 0.00 </p>
</div>
<input type="submit" name="Bestellbutton" value="Bestellen" onclick="calcPrice()">
Alles anzeigen
Hier wäre einmal der HTML Teil.
Und hier der JS-Teil:
var summe=0;
var i;
function calcPrice()
{
var betrag;
var betragf;
var summe=0;
for(i=0;i<7;i++)
{
if(document.liste.elements[i].checked)
{
betrag = document.liste.elements[i].value;
betragf=parseFloat(betrag);
summef=parseFloat(summe);
summef=summef+betrag;
}
}
var element = document.getElementById("preisfeld");
element.innerHTML = String(betrag);
return summef;
}
Alles anzeigen
Ich möchte, dass jedes mal wenn ich eine Checkbox anwähle, oder abwähle, die Preisberechnungsfunktion aufgerufen wird. Anschließend soll das Ergebnis in einem Textfeld (p) angegeben werden. Ich war etwas übermütig bei der Zuweisung von Values und Eigenschaften bei den Listen. Es funktioniert nur, wenn ich die erste Checkbox zuerst anwähle. Klicke ich eine andere zuerst an, geht garnichts mehr. Ich verstehe nicht warum. Ich habe schließlich bei allen mein OnClick=""; angegeben.
Der Return am Ende ist für eine andere Funktion und spielt für den Wert der in meiner Textbox ausgegeben wird keine Rolle.
Ich hoffe jemand weiss was ich falsch mache.
LG Triceps