使用jQuery对两个文本输入的值求和

Using jQuery to sum values from a couple text inputs

本文关键字:输入 文本 求和 两个 jQuery 使用      更新时间:2023-09-26

我有几个文本输入,我想计算另一个输入中值的总和。这必须在用户在其中一个输入中输入值后立即进行。我计划为此使用jQuery,并且我想为每个输入添加一个类名,例如class="input1", class="input2"等等。

我的问题是我不知道要把所有这些值加起来,而且考虑到我有超过50个输入,我不想"手工加"。

任何形式的帮助都是感激的。

如果您将想要的所有输入与input1, input2等类别加在一起,则将得到所有这些输入中当前值的总和

var sum = 0;
$("input[class *= 'input']").each(function(){
    sum += +$(this).val();
});

当然,如果你想把这个值放在id为destination的输入中

$("#destination").val(sum);

Here's a fiddle

编辑

如果你想在这些文本框被更改时运行它,那么你可以把它放在change事件处理程序

$(document).on("change", "input[class *= 'input']", function() {
    var sum = 0;
    $("input[class *= 'input']").each(function(){
        sum += +$(this).val();
    });
    $("#destination").val(sum);
});

这是小提琴

编辑

根据Jaspers的评论,如果你知道input1, input2等,将总是是你输入的第一类,即,你将永远不会

<input class='someNewClass input1'

那么你可以

$("input[class ^= 'input']").each(function(){

^=表示开头,而*=表示包含任何地方。

给它们一个通用的名称,你需要解析这个值,因为它最初将是文本

var result= 0;
$("input[name='sum']").each(function(){
    result = result + parseInt($(this).val(),10);
});