Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从输入中获取多个值并根据它们的类名添加它们_Javascript_Jquery - Fatal编程技术网

Javascript 从输入中获取多个值并根据它们的类名添加它们

Javascript 从输入中获取多个值并根据它们的类名添加它们,javascript,jquery,Javascript,Jquery,我现在有一个脚本,我想把贷款支付和总贷款价值加在一起,但要把这两种类型分开 我觉得我没有充分发挥jQuery的潜力,因为我复制和粘贴了两次相同的东西,并用相似的代码重复我自己 我是不是遗漏了什么?是否有更好的方法从多个输入字段中获取选定值 更新 我犯了一个错误,留下了与值相同的id。因此,我更新了代码,使之类似于此。 $document.readyfunction{ 格托塔拉蒙特; }; 函数getTotalAmount{ var monthTotal=0.00; var总计=0.00; $'i

我现在有一个脚本,我想把贷款支付和总贷款价值加在一起,但要把这两种类型分开

我觉得我没有充分发挥jQuery的潜力,因为我复制和粘贴了两次相同的东西,并用相似的代码重复我自己

我是不是遗漏了什么?是否有更好的方法从多个输入字段中获取选定值

更新 我犯了一个错误,留下了与值相同的id。因此,我更新了代码,使之类似于此。 $document.readyfunction{ 格托塔拉蒙特; }; 函数getTotalAmount{ var monthTotal=0.00; var总计=0.00; $'input.monthAmt'。每个函数{ monthTotal+=parseFloat$this.val; 这里有些东西:+monthTotal+; }; $'input.loanAmt'.eachfunction{ 总计+=parseFloat$this.val; console.log这里有些东西:+total+; }; $'monthAmt'.textmonthTotal.toFixed2.toString; $'loanAmt'.texttotal.toFixed2.toString; } 贷款1: 每月金额: 贷款金额: 贷款2: 贷款金额: 贷款金额: 每月付款总额:$
贷款总额:$您的代码对我来说似乎没有那么重复,因为您循环使用了两种非常不同的数据,即每月数据与总计数据

这使得几乎没有重复的内容可以被接受

但是,如果您真的想进一步减少代码,可以执行以下操作:

function getTotalAmount() {
    let totals = {loanAmt: 0, monthAmt: 0};
    $('.monthAmt, .loanAmt').each(function() {
        totals[$(this)[0].className] += parseFloat($(this).val());
    });
    for (type in totals)
        $('#'+type).text(totals[type].toFixed(2).toString());
}

你的代码对我来说似乎没有那么重复,因为你在循环两种完全不同的数据

这使得几乎没有重复的内容可以被接受

但是,如果您真的想进一步减少代码,可以执行以下操作:

function getTotalAmount() {
    let totals = {loanAmt: 0, monthAmt: 0};
    $('.monthAmt, .loanAmt').each(function() {
        totals[$(this)[0].className] += parseFloat($(this).val());
    });
    for (type in totals)
        $('#'+type).text(totals[type].toFixed(2).toString());
}

如果我是你的话,我会使用javascript来实现这一点,但是你也可以用jQuery来实现。您要做的是将所有重复的代码放入一个函数中:

$document.readyfunction{ /*获得总金额*/ 函数addAmountsels{ 设结果=0; els.eachidx,el=>{ 结果+=parseInt$el.val } 返回result.toFixed2 } $'monthAmt'.textaddAmounts$'input.monthAmt'; $'loanAmt'.textaddAmounts$'input.loanAmt'; }; 贷款1: 每月金额: 贷款金额: 贷款2: 每月金额: 贷款金额: 每月付款总额:$
贷款总额:$如果我是你,我会使用javascript,但你也可以用jQuery来实现。您要做的是将所有重复的代码放入一个函数中:

$document.readyfunction{ /*获得总金额*/ 函数addAmountsels{ 设结果=0; els.eachidx,el=>{ 结果+=parseInt$el.val } 返回result.toFixed2 } $'monthAmt'.textaddAmounts$'input.monthAmt'; $'loanAmt'.textaddAmounts$'input.loanAmt'; }; 贷款1: 每月金额: 贷款金额: 贷款2: 每月金额: 贷款金额: 每月付款总额:$
贷款总额:$Ok,我犯了一个错误,留下的美元与输入金额相同。总目标中是否有改变以反映变化的方法?应该是美元之类的东西对不起,我不明白。我回答了被问到的问题;如果最初有问题,请编辑该问题。好的,我犯了一个错误,留下了与输入金额相同的美元。总目标中是否有改变以反映变化的方法?应该是美元之类的东西对不起,我不明白。我回答了被问到的问题;如果最初有问题,请编辑这个问题。这是下一个lvl的东西!这是一些下一级的东西!