2013-06-06 68 views
5

我想在其中我有7個輸入字段,其中我輸入數字和最後一個輸入字段,其中所有插入的數字在一個結果中求和。 我試圖從其他堆棧器編輯一些腳本,但從某些原因它不顯示結果。jquery多個輸入字段之和

的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> 

和我的腳本到目前爲止是這樣的:

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); 
}); 

這裏是它的jsfiddle:http://jsfiddle.net/bT4nm/1/

你能幫助我嗎?在劇本我nooby關於jQuery的在我的HTML類的問題,或者什麼,我需要儘快爲解決..我JS的更新小提琴將是巨大的

+0

一旦您正確地總結了數字,您可能難以使用正確的格式(千位分隔符,小數位,貨幣符號等)顯示總數。看到這個答案的幫助:http://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript/28378652#28378652 – gibberish

回答

5

使用此:

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

也謝謝! :) – dzordz