此link显示了我如何尝试添加两个文本框值,但该值的加法计算错误。
这是我的JavaScript代码:
$("#amount").on("input", function ()
{
const originalDebit = $('#debit').val();
const amount = $('#amount').val();
const tot = parseFloat(originalDebit) + parseFloat(amount);
$('#debit').val(tot);
});
答案 0 :(得分:1)
您可以在进行加法之前用style="?android:attr/ratingBarStyleSmall"
检查该值是否为数字或为空。在这种情况下,请为变量分配0。
请注意:您还必须在事件处理函数之外声明 originalDebit ,以保留每次更改的原始值:
尝试以下方式:
isNaN()
const originalDebit = $('#debit').val().trim();
$("#amount").on("input", function () {
const amountVal = $('#amount').val().trim();
const amount = (isNaN(amountVal) || amountVal == "") ? 0 : amountVal;
const tot = parseFloat(originalDebit) + parseFloat(amount);
$('#debit').val(tot);
});
答案 1 :(得分:0)
希望对您有所帮助。我用的是JavaScript香草。
document.addEventListener('DOMContentLoaded', () => {
document.getElementById('amount').addEventListener('input', (e) => {
let {
value
} = e.target;
let debit = document.getElementById('debit').value;
value = value == '' ? 0 : parseFloat(value);
debit = debit == '' ? 0 : parseFloat(debit);
document.getElementById('debit').value = value + debit
})
})
<input type="number" id="amount">
<input type="number" id="debit">