Zurück   Flashforum > Alternative Technologien > JavaScript & jQuery

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-12-2008, 14:29   #1 (permalink)
be creative
 
Benutzerbild von Electric-X
 
Registriert seit: Jul 2002
Ort: Nbg
Beiträge: 763
JS Rechnen mit Staffellung bzw. unterschiedlichen Werten mit Checkboxes

Hallo FF,

ich habe ein kleines Formular in dem Blöcke (Checkboxes) zusammengerechnet werden sollen. Die Berechnung haut auch so weit hin - nur habe ich keine Ahnung wie ich eine Art Staffelung einbauen soll.

Hier mein Script:

HTML-Code:
<script language="javascript"><!--

function Berechnung(){
var ausgabe = 0;
var ausgabe2 = 0;

if (document.forms[0].block[0].checked){
ausgabe += parseFloat(document.forms[0].block[0].value);
ausgabe2 += 1;
}

if (document.forms[0].block[1].checked){
ausgabe += parseFloat(document.forms[0].block[1].value);
ausgabe2 += 1;
}

if (document.forms[0].block[2].checked){
ausgabe += parseFloat(document.forms[0].block[2].value);
ausgabe2 += 1;
}

if (document.forms[0].block[3].checked){
ausgabe += parseFloat(document.forms[0].block[3].value);
ausgabe2 += 1;
}

if (document.forms[0].block[4].checked){
ausgabe += parseFloat(document.forms[0].block[4].value);
ausgabe2 += 1;
}

if (document.forms[0].block[5].checked){
ausgabe += parseFloat(document.forms[0].block[5].value);
ausgabe2 += 1;
}

document.forms[0].sum.value = ausgabe;
document.forms[0].gebuchte_intervalle2.value = ausgabe2;
}
//--></script>
Gestaffelt wird das ganze so:
ein Block ausgewählt: 19,00.
Zwei Blöcke ausgewählt 23,00.
drei Blöcke ausgewählt: 27,00
vier Blöcke ausgewählt: 31,00
fünf Blöcke ausgewählt: 35,00
sechs Blöcke ausgewählt: 39,00

Bei meinem JS wird alles zusammengerechnet, nur eben gerechnet. Wähle ich 3 Blöcke aus komme ich auf 57,00, was natürlich zu viel ist. Normal müsste 27,00 kommen :-). Hat einer vielleicht eine Idee?

Danke und Grüße
__________________
electric-X.de | canyouhearit.de

>> Ideen sind das wichtigste. zu lernen wie man sie umsetzt, ist das Ziel.
Electric-X ist offline   Mit Zitat antworten
Alt 12-12-2008, 16:31   #2 (permalink)
nobody is perfect
 
Benutzerbild von richtsteiger
 
Registriert seit: Jul 2004
Ort: munich
Beiträge: 876
So vielleicht?
HTML-Code:
<script language="javascript">
  <!--
  
  function Berechnung() {
    var ausgabe = 0;
    var ausgabe2 = 0;
    
    var itemCost = 19; // oder halt mittels parsefloat den Wert, wenn der sich ändern sollte
    var itemChange = 4; // die Beträge ändern sich ja immer im gleichen Verhältnis
    
    for (var i = 0; i < document.forms[0].block.length; i++) {
      if(document.forms[0].block[i].checked) ausgabe2++;
    }
    
    ausgabe = ausgabe2 > 0 ? itemCost + itemChange * (ausgabe2 - 1) : 0;
    
    document.forms[0].sum.value = ausgabe;
    document.forms[0].gebuchte_intervalle2.value = ausgabe2;
  }
  
  //-->
</script>
__________________
XING
richtsteiger ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 12:07 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele