ilch Forum » Allgemein » HTML, PHP, SQL,... » javascript split()

Geschlossen
  1. #1
    User Pic
    SteKu Mitglied
    Registriert seit
    25.03.2007
    Beiträge
    259
    Beitragswertungen
    2 Beitragspunkte
    Hi jungs und mädels,

    ich bin gerade mal wieder am basteln. Folgende problematik. Ich übergebe in einem Select-option 2 Wert im Value ...

    <select id="2" style="width: 125px;">
    <option class="optvar" value="Größe: 50/56#0.00" name="0.00">50/56&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+0.00 €</option>
    <option class="optvar" value="Größe: 110#6.00" name="6.00">110&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+6.00 €</option>
    <option class="optvar" value="Größe: 116#6.00" name="6.00">116&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+6.00 €</option>
    		</select>


    jetzt hab ich mittels eines JS das alle select zusammen gerechnet werden, was auch funktioniert solange als value nur die Zahl als Wert hinterlegt ist also so ...

    <select id="2" style="width: 125px;">
    <option class="optvar" value="0.00" name="0.00">50/56&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+0.00 €</option>
    <option class="optvar" value="6.00" name="6.00">110&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+6.00 €</option>
    <option class="optvar" value="6.00" name="6.00">116&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+6.00 €</option>
    		</select>


    ich muss aber 2 werte übergeben, jetzt dachte ich mir das man mit split das ganze aim JS teilen kann was ja theoretisch fuunktioniert mit ...

    <button onclick="myFunction()">Try it</button>
    
    <p id="demo"></p>
    
    <script>
    function myFunction() {
        var str = "Größe: 116#6.00";
        var res = str.split("#");
        document.getElementById("demo").innerHTML = res[1];
    }
    </script>


    wie bekomme ich jetzt in meinen zusammrechen code das split eingebaut ...

    hier noch der eigentliche JS zum zusammen rechnen ..

    <script type="text/javascript">
    $(document).ready(function() {
        // ID der Felder, die in die Berechnung einfließen sollen
        var calcFields = ['#1','#2','#3','#4','#5','#6','#7','#8','#9','#10','#11','#12','#13','#14','#15','#16','#17','#18','#19','#20','#21','#22','#23','#24','#25'];
     
        $('#1,#2,#3,#4,#5,#6,#7,#8,#9,#10,#11,#12,#13,#14,#15,#16,#17,#18,#19,#20,#21,#22,#23,#24,#25').change(function() { // WENN SELECT CHANGED
            var result = 0;
     
            $.each(calcFields, function(index, name) {
                var val = Number($(name).val());
     
                // Werte der Felder addieren
                result += isNaN(val) ? 0 : val;
            });
     
            // Ergebnis in Textfeld schreiben
            $('#gesamtpreisinput').val(result);
        });
    });
    </script>


    hoffe es blickt jemand dur und kann helfen

    Gruß
    SteKu


    verwendete ilch Version: 1.1 P
    Wer Rechtschreibfehler findet darf sie behalten.
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    Hab hier mal ein paar Änderungen eingebaut: jsfiddle.net/f3buknqa/2/

    Ich hoffe du verstehst sie, statt alle IDs selbst zu pflegen, muss das <select> jetzt einfach die Klasse 'size' haben. Kannst du natürlich auch deinen Wünschen entsprechend ändern.

    Wenn du das Ergebnis auch richtig als Geldbetrag formatieren möchtest: openexchangerates.github.io/accounting.js/


    Zuletzt modifiziert von dastiii am 17.01.2015 - 08:52:42
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten