Jqery Kommazahlen addieren
Spoiler
![]()
Javascript-Quelltext
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 $("form#submit_shopping_2").submit(function() { var article = $('#article').attr('value'); var unit = $('#unit').attr('value'); var unit_price = $('#unit_price').attr('value'); //var controlForm = '<b>'+i+'.</b><input type="text" id="'+i+'" name="control_article" value="'+article+'" /><input type="text" id="'+i+'" name="control_quantity" value="'+unit+'" maxlength="2" size="2" /><input type="text" id="'+i+'" name="control_price" value="'+unit_price+'" maxlength="5" size="5" /><br />'; i++; var controlForm = '<b>'+i+'.</b>'+ '<input type="text" name="article['+i+'][name]" value="'+article+'" />'+ '<input type="text" name="article['+i+'][quantity]" value="'+unit+'" />'+ '<input type="text" name="article['+i+'][price]" value="'+unit_price+'" />'+ '<br />'; if ( (article !== "")&&(unit !== "")&&(unit_price !== "") ) { $("#submit_control").append(controlForm).fadeIn('slow'); $("#submit_shopping_2").clearForm(); }else $("p#false").show("slow");setTimeout(function() {$("p#false").hide("slow");}, 2000); return false; });
Ich möchte das die Kommazahlen in unit_price zusammengezählt werden und als Summe am Ende der controlForm steht. Aber weiss nicht wie ich das hinbekommen soll
Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
|
|
Javascript-Quelltext |
1 |
var unit_price = parseFloat($('#unit_price').attr('value')); |
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
|
|
Javascript-Quelltext |
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 |
$("form#submit_shopping_2").submit(function() { var article = $('#article').attr('value'); var unit = $('#unit').attr('value'); var unit_price = $('#unit_price').attr('value'); i++; var controlForm = '<b>'+i+'.</b>'+ '<input type="text" name="article['+i+'][name]" value="'+article+'" />'+ '<input type="text" name="article['+i+'][quantity]" value="'+unit+'" />'+ '<input type="text" name="article['+i+'][price]" value="'+unit_price+'" />'+ '<br />'; var total = parseFloat($('#unit_price').attr('value')); if ( (article !== "")&&(unit !== "")&&(unit_price !== "") ) { $("#submit_control").append(controlForm).fadeIn('slow'); $("#submit_shopping_2").clearForm(); $("p#total").html(total); }else $("p#false").show("slow");setTimeout(function() {$("p#false").hide("slow");}, 2000); return false; }); |
Wenn ich es so mache nimmt er immer nur den letzten Wert und den auch nur als Ganze Zahl
Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Josephine« (9. August 2011, 22:11)
wie wärs, wenn du uns genaue beispielzahlen nennnst.
was steht in unit_price
was steht bei total und so weiter. mal ein bisschen mehr beschreiben... nicht einfach code einfügen, ich und andere werden ihn nicht durchgehen
was steht in unit_price
was steht bei total und so weiter. mal ein bisschen mehr beschreiben... nicht einfach code einfügen, ich und andere werden ihn nicht durchgehen
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
Wie schon in meinem ersten Post steht, sind in unit_price Kommazahlen drin. Beispiele 0,99 und 1,14 und 3,56 und 6,45 und 5,34 und 5,65 usw. Das total soll alle abgeschickten unit_price Werte zusammenzählen und als Summe ausgeben.

Wie hier zu sehen ist, wird immer nur die letzte Ganze Zahl angeigt, dort sollte aber 15,45 stehen, wenn ich mich nicht verrechnet habe

Wie hier zu sehen ist, wird immer nur die letzte Ganze Zahl angeigt, dort sollte aber 15,45 stehen, wenn ich mich nicht verrechnet habe
Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
Spoiler
![]()
Javascript-Quelltext
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 26 var total = 0; //besser wäre es, wenn man hier den total mit jQuery aus einem div oder so auslesen könnte $("form#submit_shopping_2").submit(function() { var article = $('#article').attr('value'); var unit = $('#unit').attr('value'); var unit_price = $('#unit_price').attr('value'); i++; var controlForm = '<b>'+i+'.</b>'+ '<input type="text" name="article['+i+'][name]" value="'+article+'" />'+ '<input type="text" name="article['+i+'][quantity]" value="'+unit+'" />'+ '<input type="text" name="article['+i+'][price]" value="'+unit_price+'" />'+ '<br />'; total += parseFloat(unit_price.replace(/,/, ".")); //ersetze beim uniprice die kommas mit einem punkt, wandle den wert in einen vom string in ein float um und addiere diesen wert zu dem letzten wert des totals if ( (article !== "")&&(unit !== "")&&(unit_price !== "") ) { $("#submit_control").append(controlForm).fadeIn('slow'); $("#submit_shopping_2").clearForm(); $("p#total").html(total); }else $("p#false").show("slow");setTimeout(function() {$("p#false").hide("slow");}, 2000); return false; });
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »cccpmik« (10. August 2011, 19:48)
ja kannst du
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »cccpmik« (10. August 2011, 16:13)
naja erstmal überlegen wie es heißt wenn man eine lange nachkomma stelle hat und man möchte 2 nachkommastellen haben. sobald ich das wort habe, google nach dem wort + javascript schau mir die treffer an und suche nach codeshnipsel, diese baue ich dann ein
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
Ja hast Recht, das hätte ich auch googeln können. Bist ja richtig flexibel jetzt bitest du sogar noch Hilfe zur Selbsthilfe an.
Hier meine erfolgreiche Suche brachte dieses Ergebniss zustande:
Hier meine erfolgreiche Suche brachte dieses Ergebniss zustande:
|
|
Javascript-Quelltext |
1 |
$("p#total").html(total.toFixed(2)); |
Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
eigentlich habe eher gedacht dass du eine javascript round funktion finden würdest die 2 stellen nach dem komma rundet...
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
So ab ca. 30.00 zeigt er nur noch NaN an. Hat jemand ne Ahnung warum das so ist?
Hier der Teil im Code:
Hier der Teil im Code:
|
|
Javascript-Quelltext |
1 2 3 4 5 6 7 8 9 |
// Punkt durch Komma ersetzen, Betraege multiplizieren und addieren unit_price = parseFloat(unit_price.replace(/,/, ".")); unit_price = unit * unit_price; total += parseFloat(unit_price); // Ausgabe $("#total").html(total); // .toFixed(2) // Habe das toFixed(2) schon ausgkommentiert und versucht, aber auch ohne dieses kommt NaN... |
Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
Ähnliche Themen
-
(X)HTML & CSS & DHTML & Javascript »-
Jqery Div in Div ansprechen
(5. Juli 2011, 21:06)
-
Werbeformen für Webseiten / Geldverdienen mit Werbung »-
PR Abfrage ohne Toolbar
(6. Dezember 2003, 17:46)
-
PHP »-
Inhalt von Textdateien addieren
(9. November 2003, 20:13)
-
PHP »-
wo ist hier der fehler? (siehe quelltext)
(22. April 2003, 15:58)
-
PHP »-
return bei php
(26. Dezember 2002, 19:11)



und wie würde das mein Meister ccpmik anstellen?