2013-06-06 20 views
5

Voglio creare un modulo in cui sono presenti 7 campi di input in cui sto inserendo numeri e un ultimo campo di input in cui tutti i numeri inseriti vengono sommati in un risultato. Ho provato a modificare alcuni script da un altro stacker ma per qualche motivo non visualizza il risultato.somma jquery di più campi di input in uno

il codice HTML è:

<form class="form-horizontal" id="whereEntry" method='post' action=''> 
    <fieldset> 
    <input type="text" class="income_count span1 register_input" id="income" name="income" placeholder="% of income"> <br> 
    <input type="text" class="income_count span1 register_input" id="income_2" name="income_2" placeholder="% of income"> <br> 
<input type="text" class="income_count span1 register_input" id="income_3" name="income_3" placeholder="% of income"> <br> 
<input type="text" class="income_count span1 register_input" id="income_4" name="income_4" placeholder="% of income"> <br> 
    <input type="text" class="income_count span1 register_input" id="income_5" name="income_5" placeholder="% of income"> <br> 
     <input type="text" class="income_count span1 register_input" id="income_6" name="income_6" placeholder="% of income"> <br><br><br> 

    <input type="text" class="span2 register_input" id="income_sum" name="income_sum" placeholder="% of income"> <br> 
     </fieldset> 
     </form> 

e il mio script finora assomiglia a questo:

var $form = $('#whereEntry'), 
$summands = $form.find('.income_count'), 
$sumDisplay = $('#income_sum'); 

$form.delegate('.income_count', 'change', function() 
{ 
var sum = 0; 
$summands.each(function() 
{ 
    var value = Number($(this).val()); 
    if (!isNaN(value)) sum += value; 
}); 

$sumDisplay.text(sum); 
}); 

Ecco jsfiddle di esso: http://jsfiddle.net/bT4nm/1/

potrebbe aiutarmi? è il problema nelle mie classi html o qualcosa nello script Sono nooby su jQuery e ho bisogno come ASAP soluzione .. aggiornamento dei miei js violino sarebbe grande

+0

Una volta che i numeri si sommano correttamente, potrebbe essere difficile ottenere il totale da visualizzare con il formato corretto (migliaia di separatori, posti decimali, simbolo di valuta, ecc.). Vedi questa risposta per un aiuto in questo: http://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript/28378652#28378652 – gibberish

risposta

5

Utilizzare questa:

var $form = $('#whereEntry'), 
$summands = $form.find('.income_count'), 
$sumDisplay = $('#income_sum'); 

$form.delegate('.income_count', 'change', function() 
{ 
var sum = 0; 
$summands.each(function() 
{ 
    var value = Number($(this).val()); 
    if (!isNaN(value)) sum += value; 
}); 

$sumDisplay.val(sum); 
}); 
+0

grazie anche ! :) – dzordz

Problemi correlati