2010-12-09 11 views
0

Ich habe eine Gruppe von Spinner <select> Eingabefelder und ich möchte die Summe von ihnen live zu finden. Ich dachte mir, der einfachste Weg wäre, den Klassenselektor von jquery zu verwenden, aber er speichert nicht die .val() Elemente einer ähnlichen Klasse in einem Array.Finden Sie die Summe aller Werte von Spinner mit der gleichen Klasse

Gibt es eine Möglichkeit, alle Werte einer Reihe von <select> Inputs in einem Array zu speichern, so dass ich die Summe aller ihrer Werte finden kann.

Mein nicht funktionierender Code sieht so aus.

function calcPrice() { 
    var price = $('.food').val() || []; 
} 
$("select").change(calcPrice); 
+0

Sollte die Frage-Tag Javascript anstelle von Java sein? – Enrique

+0

Das hat nichts mit Java zu tun. "Java ist Javascript als Car ist zu Teppich" –

Antwort

0

Möchten Sie, was sind die .food Elemente zu klären Geist? Sind sie Eingabefelder? Andernfalls können Sie stattdessen versuchen, $('.food').text() zu verwenden.

0

ähnliche Antwort der btiernay, aber wenn man die tatsächliche Array halten wollen Sie tun können:

var prices = $.map($(".food"), function() { 
    return +this.value; 
}); 
0
var expenses = 0.0; 
$(".expense").each(function() { 
     expenses += +this.value; 
}); 
$("#expense-total").html(expenses); 

Im Grunde der gleichen wie btiernay aber es hat fehlt; was könnte noobs täuschen. Außerdem wurde ein jQuery-Element hinzugefügt, um den endgültigen Wert in ein Summenfeld zu verschieben. Sorry, ich could't als Kommentar hinzufügen, wie ich selten so Post reputattion weniger als 50.

Live-Beispiel unter Geschäfts expeses hier: http://contractor.icalculator.info/calculator/PAYE-calculator.html

Verwandte Themen