Javascript 如何对输入值数组求和?
我正在尝试使用一个输入值数组来对值进行实时求和 以下是一个例子:Javascript 如何对输入值数组求和?,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在尝试使用一个输入值数组来对值进行实时求和 以下是一个例子: SUM <input id="proyected_analysis_expense_1" name="proyected_analysis_expense[name][]" type="text" value=""> <script type="text/javascript"> jQuery("#proyected_category_expense_1").live("change",
SUM <input id="proyected_analysis_expense_1" name="proyected_analysis_expense[name][]" type="text" value="">
<script type="text/javascript">
jQuery("#proyected_category_expense_1").live("change", function(){
pce1_value = parseFloat(jQuery("#proyected_category_expense_1").val());
total = pce1_value ;
jQuery("#proyected_analysis_expense_1").val(total.toFixed(2));
});
</script>
FIELD1: <input id="proyected_category_expense_1" name="flow_budget[flow_budget_details_attributes][1][amount]" type="text" value=""></td></tr>
SUM
jQuery(“#计划的#类别"费用"1”).live(“更改”,函数(){
pce1_value=parseFloat(jQuery(“#proyected_category_expense_1”).val();
总计=pce1_值;
jQuery(“#proyected#u analysis_expense_1”).val(总计.toFixed(2));
});
字段1:
这是现场直播
问题是,总和在演示中不起作用
我希望使用动态信息
<script type="text/javascript">
jQuery("#proyected_category_expense_1").live("change", function(){
pce1_value = parseFloat(jQuery("#proyected_category_expense_1").val());
pce2_value = parseFloat(jQuery("#proyected_category_expense_2").val());
pce3_value = parseFloat(jQuery("#proyected_category_expense_3").val());
.... ///this will continue without type
total = pce1_value + pce2_value + .... ; ///this will continue without type
jQuery("#proyected_analysis_expense_1").val(total.toFixed(2));
jQuery("#proyected_analysis_expense_2").val(total.toFixed(2));
.... ///this will continue without type
});
</script>
jQuery(“#计划的#类别"费用"1”).live(“更改”,函数(){
pce1_value=parseFloat(jQuery(“#proyected_category_expense_1”).val();
pce2_value=parseFloat(jQuery(“#proyected_category_expense_2”).val();
pce3_value=parseFloat(jQuery(“#proyected_category_expense_3”).val();
..///这将在不使用类型的情况下继续
total=pce1_值+pce2_值+…;///这将在没有类型的情况下继续
jQuery(“#proyected#u analysis_expense_1”).val(总计.toFixed(2));
jQuery(“#proyected#u analysis_expense_2”).val(total.toFixed(2));
..///这将在不使用类型的情况下继续
});
请有人能帮我在输入数组中求和吗?问题是您将当前输入元素的值赋给总计,而不是求和 因此,不要添加多个更改处理程序,而是使用单个更改处理程序,然后添加所有目标输入元素值,如
jQuery(.group input[id^='proyected\u category\u expense'])。实时(“更改”,函数(){
var totalval=0.00;
var$group=jQuery(this).closest('.group');
$group.find(“输入[id^='proyected\u category\u expense\u']”)。每个(函数(){
totalval+=(+this.value | | 0)
});
$group.find('input[name=“proyected_analysis_expense[name][]”).val(totalval.toFixed(2));
});代码>
(*)总额1
(*)字段1:
(*)字段2:
(*)字段3:
(*)字段4:
(*)字段5:
(*)字段6:
(*)字段7:
(*)字段8:
(*)字段9:
(*)字段10:
(*)总额2
(*)字段01:
(*)第0D2条:
问题在于您将当前输入元素的值分配给总计,而不是求和
因此,不要添加多个更改处理程序,而是使用单个更改处理程序,然后添加所有目标输入元素值,如
jQuery(.group input[id^='proyected\u category\u expense'])。实时(“更改”,函数(){
var totalval=0.00;
var$group=jQuery(this).closest('.group');
$group.find(“输入[id^='proyected\u category\u expense\u']”)。每个(函数(){
totalval+=(+this.value | | 0)
});
$group.find('input[name=“proyected_analysis_expense[name][]”).val(totalval.toFixed(2));
});代码>
(*)总额1
(*)字段1:
(*)字段2:
(*)字段3:
(*)字段4:
(*)字段5:
(*)字段6:
(*)字段7:
(*)字段8:
(*)字段9:
(*)字段10:
(*)总额2
(*)字段01:
(*)第0D2条:
您无需在代码中进行更多更改,只需从文本框中删除更改后的方法即可。并把一个常见的变化事件,因为我把在演示。循环遍历每个文本框并求所有值的和。我试着把代码写成
jQuery(".group input[id^='proyected_category_expense_']").live("change", function() {
var totalval = 0.00;
var $group = jQuery(this).closest('.group');
$group.find("input[id^='proyected_category_expense_']").each(function() {
totalval += (+this.value || 0)
});
$group.find('input[name="proyected_analysis_expense[name][]"]').val(totalval.toFixed(2));
var finalsum = 0.00;
jQuery('input[name="proyected_analysis_expense[name][]"]').each(function(){
finalsum += parseFloat(jQuery(this).val() || 0);
});
jQuery(".finalsum").html(finalsum);
});