计算行总计和总计

时间:2013-06-21 13:49:20

标签: jquery html

对于发票申请,我想查找行总计和总计,这些行是使用嵌套表单创建的。当我改变折扣价值时,它正在第一行工作,但我想要所有行。

这是我的代码。

 $(".hr").each(function() {
     row = $(this).parent("td").parent();
     total    = 0;
     qnt      = 0;
     rate     = 0;
     discount = 0;
     $(row).find("td input.hr")on("change",function(index) {
         if ($(this).val() !== "") {
            if ($(this).hasClass('quantity')){
                 qnt = parseFloat($(this).val());
            }
            if($(this).hasClass('rate')){
                rate = parseFloat($(this).val());
            }
            if($(this).hasClass('discount')){
                discount = parseFloat($(this).val());
            }
            return total = (qnt*rate)-(discount)
         }
     });
     $(row).find("td input.total").val(total);
     $('#invoice_grand_total').val(total)
 });

 <tr>
<td><%= f.text_field :item_name %></td>
<td><%= f.text_field :description %></td>
<td><%= f.text_field :quantity, :class => 'quantity hr' %></td>
<td><%= f.text_field :rate, :class => 'rate hr' %></td>
<td><%= f.text_field :discount, :class => 'discount hr' %></td>
<td>
    <td><%= f.text_field :total, :class => 'total', :disabled => true %></td>
 </tr>

1 个答案:

答案 0 :(得分:0)

我不知道您何时调用此$(".hr").each(代码,但自input.total元素发生变化后,#invoice_grand_total.hr不会更新val(total)on这些字段的{1}}语句不在on函数中 而不是在{{1}}函数中返回总数,而是在那里设置值。