使用Javascript获取每个模式的总金额 总额:0.00 现金总额:0.00 支票总数:0.00 $(文档).on('blur','amount',函数(){ var合计=0; var总现金=0; var总检查=0; $('.amount')。每个(函数(){ total+=parseFloat($(this.val()); }); $('.total_amount').html(总计); });
使用上面的代码,我可以得到我在输入量字段中编码的数字的总数。如何获取每种模式、现金(默认)和支票(用户可以将模式更改为支票)的总额?只有当您的索引一致时(例如,每个使用Javascript获取每个模式的总金额 总额:0.00 现金总额:0.00 支票总数:0.00 $(文档).on('blur','amount',函数(){ var合计=0; var总现金=0; var总检查=0; $('.amount')。每个(函数(){ total+=parseFloat($(this.val()); }); $('.total_amount').html(总计); });,javascript,php,html,Javascript,Php,Html,使用上面的代码,我可以得到我在输入量字段中编码的数字的总数。如何获取每种模式、现金(默认)和支票(用户可以将模式更改为支票)的总额?只有当您的索引一致时(例如,每个金额[x]都有一个模式[x]): 使用jquery获取“amount”元素集中当前元素的索引 var total = {}; $('.amount').each(function(idx) { var mode = $('[name="mode['+idx+']"'); if (!total
金额[x]
都有一个模式[x]
):
使用jquery获取“amount”元素集中当前元素的索引
var total = {};
$('.amount').each(function(idx)
{
var mode = $('[name="mode['+idx+']"');
if (!total[mode.val()])
total[mode.val()] = 0;
total[mode.val()] += parseFloat($(this).val());
}
);
console.log(total);
使用上面的索引获取相应的现金/支票元素值
var index = $( ".amount" ).index( this );
然后检查该值并将该值存储在正确的变量中
var mode_value = $("input[name='mode["+index+"]']").val();
整个代码必须在模糊事件中。如果确定下一个输入宽度
模式始终对应,则可以使用JQuery.next。因此,有必要将每个参数的值检查为NaN
if (mode_value == "Cash")
total_cash = total_cash + $(this).val();
if (mode_value == "Check")
total_check = total_check + $(this).val();
您可以使用金额上的数据元素将其链接到模式。数据模式输入=“模式[0]”,然后在输入中使用属性选择器确定是现金还是支票。ie“input[name='mode[0]]”您好,先生,实际上每个输入都在,我认为下一步不适用于此场景。对不起,我没有把运输署的问题
if (mode_value == "Cash")
total_cash = total_cash + $(this).val();
if (mode_value == "Check")
total_check = total_check + $(this).val();
$(document).on('blur','.amount',function () {
var total = 0;
var total_cash = 0;
var total_check = 0;
var val, mode;
$('.amount').each(function () {
val = parseFloat($(this).val());
val = val ? val : 0;
total += val;
mode = $(this).next().val();
switch(mode) {
case "Check" : total_check += val; break;
case "Cash" : total_cash += val; break;
}
});
$('.total_amount').html(total);
$('.total_cash').html(total_cash);
$('.total_check').html(total_check);
});