2013-06-06 67 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