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

Ausrechnung von Value bei Auswahl von OptionBox

  • Ersteller Ersteller JustOleg
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
J

JustOleg

Guest
Hallo,

ich möchte gerne das die Values der Ausgewählten Options im Input 'Betrag' ausgerechnet werden und wenn ein Option demakiert wird, auch wieder subdrahiert wird.

HTML:
<div id="Box" name="Box"><span id="BoxText" name="BoxText">
<b> Box</b><br><br>
<select id="Menu" name="Menu" size="5" multiple onchange="Rechner();">
        <option name="Auswahl[]" value="12">Fussball Packet</option>
        <option name="Auswahl[]" value="14">Serien Packet</option>
        <option name="Auswahl[]" value="11">Sport Packet</option>
        <option name="Auswahl[]" value="15">Film Packet</option>
        <option name="Auswahl[]" value="10" >Wissen Packet</option>
    </select><br><br>
    Mon. Beitrag (in Euro): <input name="Betrag" id="Betrag" type="text" size="5" maxlength="5">
</span></div>
Code:
function Rechner()
{
    var Betrag = 0;
    for (var i=0; i<document.getElementById('Menu').options.length; i++) {
        if (document.getElementById('Menu').options[i].selected == true) {
            alert(document.getElementById('Menu').options[i].value);
            
            document.getElementById('Betrag').value = document.getElementById('Menu').options[1].value + document.getElementById('Menu').options[2].value + document.getElementById('Menu').options[3].value + document.getElementById('Menu').options[4].value + document.getElementById('Menu').options[5].value;
        /*    document.getElementById('Betrag').value = Betrag; */
        }
    }
Bitte helft mir :-(


gez. Oleg
 
  • Alle Options durchlaufen
  • und wenn eine Option selektiert ist, diese zu Betrag addieren (Vorsicht: optionRef.value ist ein String, entweder Unary-Operator + oder parseInt/parseFloat)
  • nach der Schleife den Wert auf Betrag irgendwo eintragen
 
Danke für die rasche Antwort, doch leider bin ich kein HTML & Javascript Profi. Deswegen verstehe ich kein Wort von deiner Antwort :???:
 
also eine Sache wird ja schon gemacht. Es werden alle Optionen durchlaufen.
Du guckst auch ob die option angewählt ist.
Nun musst du diese nur zusammen rechnen.
Und crasht sagte nur, dass die Zahlen nicht als zahlen sondern als String verstanden werden. Somit würde er dir Texte addieren (21+21 = 2121)
Um das ganze als Integer zu addieren (als nicht Komma zahl) muesstest du
den String vorher mit parseInt bearbeiten

HTML:
function Rechner()
{
    var Betrag = 0;
    for (var i=0; i<document.getElementById('Menu').options.length; i++) {
        if (document.getElementById('Menu').options[i].selected == true) {           
            // Zahl hinzu Addieren
            Betrag += parseInt(document.getElementById('Menu').options[i].value);
            
       
        } 
    }
// Ausgabe von Betrag

}

Denke so sollte es dann aussehen.
 
Bisschen noch aufräumen:
Code:
    var betrag = 0;
    var options = document.getElementById('Menu').options;
    for (var i = 0, len = options.length; i < len; i++) {
        if (options[i].selected) {           
            // Zahl hinzu Addieren
            betrag += +options[i].value;
        } 
    }

    // betrag ausgeben
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben