使用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);    
});