我对javascript
/比较jQuery
陌生,并且无法获得预期的结果。即使只有一个输入有值,我也希望显示总数,否则我希望显示 0。但是现在它需要输入所有 3 个值才能显示总和。当我输入输入时,它不会简单地将下一个输入添加到总数中。我可以想象一系列冗长的条件语句,它们会交叉检查每个输入的 .length 并根据每个输入返回总数。当然必须有一个更简单/更清洁的方法。如果这是java,我会使用total +=(变量),它会在我去的时候把它们加起来。这似乎在这里行不通。
$('#invoice_labor, #invoice_materials, #invoice_other').keyup(function() {
if ($('#invoice_labor').length || $('#invoice_materials').length || $('#invoice_other').length ) {
updateTotal();
} else {
$('#invoice_total').html(0);
}
});
var updateTotal = function () {
var input1 = parseFloat($('#invoice_labor').val(), 2);
var input2 = parseFloat($('#invoice_materials').val(), 2);
var input3 = parseFloat($('#invoice_other').val(), 2);
var total = input1 + input2 + input3;
$('#invoice_total').html(total);
$("#invoice_total").html(parseFloat($("#invoice_total").html()).toFixed(2));
};
这是我正在修补的小提琴。
因此,无论我在哪个字段中输入数字,我都希望总数发生变化。如果它只有一个,则将其添加到总变量并返回它。如果是两者的任意组合,则将它们组合起来并将它们添加到总数中。谢谢您的帮助。