jquery对同一类别的多个输入字段求和在一个输入框中
jquery对同一类别的多个输入字段求和在一个输入框中
你好,我需要将具有相同类名的输入框的值相加,并将结果显示在一个类名为total的输入框中。
可行吗?
$(document).on("change", "qty1", function() { var sum = 0; $("input[class *= 'qty1']").each(function(){ sum += +$(this).val(); }); $(".total").val(sum); });
问题的出现原因是需要计算多个具有相同类名的输入字段的总和,但是没有提供一个直接的方法来实现这个功能。
解决方法是通过使用jQuery的each()方法遍历所有具有相同类名的输入字段,然后使用parseInt()函数将输入字段的值转换为整数,并将它们相加得到总和。最后,将总和显示在指定的结果区域。
以下是解决问题的代码:
$(".qty1").on("blur", function(){ var sum=0; $(".qty1").each(function(){ if($(this).val() !== "") sum += parseInt($(this).val(), 10); }); $("#result").html(sum); });
以上代码通过给所有具有类名"qty1"的输入字段绑定"blur"事件,当输入字段失去焦点时触发计算总和的操作。在每次遍历输入字段时,如果输入字段的值不为空,则将其转换为整数并添加到总和中。最后,将总和显示在具有id为"result"的结果区域中。
你可以点击这里查看运行示例。
通过以上方法,你可以轻松地计算具有相同类名的多个输入字段的总和。
问题的出现原因:
问题是关于如何使用jQuery来计算具有相同类的多个输入字段的总和。原始代码中使用了错误的选择器,导致无法正确选择到相应的输入字段。
解决方法:
需要调整jQuery代码,使用正确的选择器来选择相同类的多个输入字段,并对它们的值进行累加计算。
解决方法的代码如下:
$(document).on("change", ".qty1", function() { var sum = 0; $(".qty1").each(function(){ sum += +$(this).val(); }); $(".total").val(sum); });
这段代码使用了`$(document).on("change", ".qty1", function() {})`来监听`.qty1`类的输入字段的变化事件。每当有输入字段的值发生变化时,会遍历所有`.qty1`类的输入字段,并将它们的值累加到`sum`变量中。最后,将累加结果赋值给`.total`类的输入字段。
这段代码还使用了`+`运算符将输入字段的值转换为数字类型,以确保正确的累加计算。
此外,还有其他一些问题,讨论了如何在页面刷新后仍然计算输入字段的值,以及关于使用`+`运算符的解释等。但这些问题并不是本次问题的关键,因此在这篇文章中不予详述。
通过调整jQuery代码的选择器,并对输入字段的值进行累加计算,我们成功解决了计算具有相同类的多个输入字段总和的问题。这个解决方法非常简单有效,可以在实际项目中使用。