对于发票申请,我想查找行总计和总计,这些行是使用嵌套表单创建的。当我改变折扣价值时,它正在第一行工作,但我想要所有行。
这是我的代码。
$(".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>
答案 0 :(得分:0)
我不知道您何时调用此$(".hr").each(
代码,但自input.total
元素发生变化后,#invoice_grand_total
和.hr
不会更新val(total)
和on
这些字段的{1}}语句不在on
函数中
而不是在{{1}}函数中返回总数,而是在那里设置值。