Javascript Jquery只通过其中包含值的输入进行循环

Javascript Jquery只通过其中包含值的输入进行循环,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试循环表单字段,将每个输入的值相加,并在另一个div中显示总数。只有当我填充所有表单字段时,它才对我有效。如果我的2个表单字段中只有值,如何使其工作 HTML: 您可以在循环之前过滤输入,这将为您提供值不为空的输入 var $inputs = jQuery('#calculate :input').filter(function(){return this.value !==''}); 您必须对each()循环进行少量更改,如下所示: $inputs.each(function ()

我正在尝试循环表单字段,将每个输入的值相加,并在另一个div中显示总数。只有当我填充所有表单字段时,它才对我有效。如果我的2个表单字段中只有值,如何使其工作

HTML:


您可以在循环之前过滤输入,这将为您提供值不为空的输入

 var $inputs = jQuery('#calculate :input').filter(function(){return this.value !==''});

您必须对
each()
循环进行少量更改,如下所示:

$inputs.each(function () {
         if ($(this).val() !== "") {
             total = parseFloat(total) + parseFloat($(this).val());
         }  
     });

如果您需要更改计算值的方式,请尝试以下操作:

var value = !isNaN(Number(values[this.name])) ? parseFloat(values[this.name]) : 0;
total += value;

谢谢这正是我所需要的:)欢迎拜格拜……:)很高兴它能帮上忙
$inputs.each(function () {
         if ($(this).val() !== "") {
             total = parseFloat(total) + parseFloat($(this).val());
         }  
     });
var value = !isNaN(Number(values[this.name])) ? parseFloat(values[this.name]) : 0;
total += value;