2010-12-09 3 views
0

J'ai un groupe de filateurs <select> champs d'entrée et je veux trouver la somme d'entre eux en direct. J'ai pensé que le moyen le plus simple serait d'utiliser le sélecteur de classe de jquery mais il ne stocke pas les .val() d'éléments d'une classe similaire dans un tableau.Trouver la somme de toutes les valeurs des filateurs avec la même classe

Y at-il un moyen de stocker toutes les valeurs d'un groupe de <select> entrées dans un tableau afin que je puisse trouver la somme de toutes leurs valeurs.

Mon code qui ne fonctionne pas ressemble à ceci.

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

la balise question devrait être javascript au lieu de java? – Enrique

+0

cela n'a rien à voir avec Java. "Java est à Javascript comme la voiture est à tapis" –

Répondre

0

Pourriez-vous préciser quels sont les éléments .food? Sont-ils des champs d'entrée? Sinon, vous pouvez essayer d'utiliser $('.food').text() à la place.

0

similaires à la réponse de btiernay, mais si vous voulez garder le tableau réel que vous pouvez faire:

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

Fondamentalement, le même que btiernay mais il a disparu; ce qui pourrait tromper noobs. Ajout d'un exemple d'élément jquery pour pousser la valeur finale dans un champ de somme. Désolé, je could't ajouter comme commentaire que je reputattion rarement moins on publier de 50 ans

exemple en direct sous expeses d'affaires ici: http://contractor.icalculator.info/calculator/PAYE-calculator.html

Questions connexes