计算具有相同名称的输入值并将最终值复制到另一个输入

时间:2014-06-20 21:40:20

标签: javascript jquery html

我有多个具有相同名称的输入:

<div class="cart_items_goes_up">
    <input type="hidden" value="4" name="menu_item_id[]" class="single_menu_item">
    <input type="hidden" value="3" name="menu_item_id[]" class="single_menu_item">
    <input type="hidden" value="2" name="menu_item_id[]" class="single_menu_item">
</div>

我需要使用名称menu_item_id []计算输入的所有这些值,并将结果值复制到另一个类“ order_sum ”的输入。

我知道如何将所有值都放入数组但不知道如何将它们相加并复制到我的新输入中。

我的进步:

jQuery(".cart_items_goes_up input[name='menu_item_id[]']").map( function() { 
  return jQuery(this).val();
} ).get();

有什么想法吗?谢谢

1 个答案:

答案 0 :(得分:0)

你不是太远,只是你也会经历两个循环。因此,请使用map

,而不是使用each
var sum = 0;
jQuery(".cart_items_goes_up input[name='menu_item_id[]']").each( function() { 
     sum += +this.value;
});
jQuery('input.order_sum').val( sum );

WORKING JSFIDDLE DEMO