jQuery - finde alle Elemente eq %EK[], summiere value und schreibe nach #GesamtEK

onto

Grünschnabel
nachdem ich den ganz tag die suchmaschienen gequält habe, und keine Antwort gefunden, bezweifele ich langsam, daß mein Problem gar nicht lösbar ist. oder doch?

Gegeben:
Mehrere Elemente mit namen "xyzEK[]" und einem Value

Aufgabe:
finde alle Elemente die im Namen auf "EK[]" enden, summiere die values und schreibe
das Ergebnis nach $('#GesamtEK')

Geht das Überhaupt?

Gruß Thomas
 
na das habe ich schon geknackt.
kann die elemente auslesen und mir deren value mir per alert anzeigen lassen.

nun haperts nur noch am summieren und dem $('GesamtEK') das ergebnis zuzuweisen


$('#ProduktListe input').each(function() {
if(this.name == 'OptionEK[]') {
$('#GesamtEK').val() = $('#GesamtEK').val() += this.value;
}
})

so gehts leider nicht :-(
 
Zuletzt bearbeitet:
Hi,

$('#GesamtEK').val() = $('#GesamtEK').val() += this.value;

val() ist eine Funktion, keine Eigenschaft, der Du einen Wert zuweisen kannst.

Das müsste eher so aussehen:
Javascript:
$('#GesamtEK').val($('#GesamtEK').val() + this.value);

Und nutze bitte in Zukunft für Code die dafür vorgesehenen Tags und achte in Deinen Beiträgen auf die Rechtschreibung, wie es in Punkt 15 unserer Netiquette gewünscht wird. Danke.

LG
 
das sieht gut aus, hab schon mal ein resultat.
allerdings setzt er die werte als string zuammen, anstatt zu summieren
aber einen schritt weiter

gibt in meinem beispiel 2 felder mit den werten 15.00 und 20.00
schreiben tut er 15.0020.00.
 
Hi,

das liegt daran, dass die beiden Operanden Strings sind und das Pluszeichen auch der Stringverkettungsoperator ist. Wandel mal beide mit parseFloat() in Kommazahlen um.

Und halte Dich bitte an die Netiquette, der Du bei Deiner Registrierung zugestimmt hast. Deine durchgängige Kleinschreibung ist hier nicht erwünscht.

LG
 
Hallo,

schau mal hier:
HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JQuery example</title>

<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script type="text/javascript">

$(document).ready(initUI);

function initUI(){

    var sum = 0.0;

    $('.price').each(function(){
        sum += parseFloat($(this).text());
    });

    $('#gesamtEK').text(sum);
}    
</script>

</head>
<body>
    <div class="price">1.99</div>
    <div class="price">2.99</div>
    <div class="price">3.99</div>
    <div class="price">4.99</div>
    <div id="gesamtEK">0</div>
</body>
</html>

Gruß Tom
 
danke für die ermahnung, knuddel *gg*

jedenfalls habt ihr beide mir riesig geholfen, und dafür könnt ich euch knutschen.

vielen dank für eure hilfe. nun läuft alles.
danke euch beiden.
 
danke für die ermahnung, knuddel *gg*
Und wieso ignorierst du weiterhin ihre Bitte, in deinen Beiträgen die Netiquette (Nr.15) bzgl. der Groß- und Kleinschreibung zu beachten, so wie du es hier in deinem ersten Post unter Beweis gestellt hast?

Editor hat gesagt.:
Bitte halte dich an die hier praktizierte Netiquette. Dies betrifft vor allem eine verständliche Ausdrucksweise sowie eine vernünftige Groß- und Kleinschreibung. Danke.
Netiquette hat gesagt.:
Unser Forum ist kein Chatroom. Kurz-Beiträge ("Ein-Zeilen Postings"), die einfach so ins Forum "geklatscht" werden, werden ohne Vorwarnung von einem Moderator oder Administrator gelöscht. Das gleiche gilt insbesondere für Beiträge, die in Rechtschreibung, Satzbau und Verständlichkeit nicht ein vernünftiges, allgemein übliches und altersgruppen-übergreifendes Niveau erfüllen. Jugendsprache, regional verbreitete Dialekte und durchgehend kleingeschriebene Beiträge sind ebenfalls unerwünscht. Mit anderen Worten: wer erfolgreich die im Deutsch-Unterricht erlernten Kenntnisse praxisnah auf unserem Forum anwenden kann, wird nicht mit dieser Regel in Konflikt kommen. "Wiederholungstäter" werden, nachdem sie zuvor von einem Moderator auf die Mängel hingewiesen wurden, ggf. unbefristet gesperrt.

mfg Maik
 

Neue Beiträge

Zurück