我在 html 表格中自动计算要支付的金额时遇到问题。
html 代码如下所示:
<td>
<input type="hidden" id="getAvailability" readonly class="form-control input-sm" />
<strong>Qty</strong><br />
<input type="text" tabindex="1" name="Qty" id="getQty" class="form-control input-sm NumbersOnly" />
</td>
<td>
<strong>Rate</strong><br />
<input type="text" name="Rate" id="getRate" readonly class="form-control input-sm " />
</td>
<td>
<strong>Amount</strong><br />
<input type="text" name="Amount" id="getAmount" readonly class="form-control input-sm " />
</td>
在这张表下面我有另一个带有 SQL 条目的表,我从中选择一行。单击此表中的一行,将调用以下函数:
$(function () {
$('#getStockID').val($.trim(cells[0].innerHTML));
$('#getItem').val($.trim(cells[1].innerHTML));
$('#getAvailability').val($.trim(cells[3].innerHTML));
$('#getRate').val($.trim(cells[4].innerHTML));
});
当我在第一个表中输入数量时,我想计算要支付的金额:
$('#getQty').keyup(function () {
var available = Number($('#getAvailability').val());
var quantity = Number($('#getQty').val());
var rate = Number($('#getRate').val());
if (quantity > available) {
$('#getQty').val(available);
quantity = available;
}
var amount = (quantity * rate);
$("#getAmount").val(amount.toFixed(2));
});
使用这段代码,我在单元格中得到了 NaN。 请指教,我在这个问题上花了太多时间,而且我没有想法。 非常感谢!
最佳答案
如果任何文本框的值为空,就会出现此问题。因此您必须在 javascript 中使用 isNaN。
$('#getQty').keyup(function () {
var available = chkIsNaN(Number($('#getAvailability').val()));
var quantity = chkIsNaN(Number($('#getQty').val()));
var rate = chkIsNaN(Number($('#getRate').val()));
if (quantity > available) {
$('#getQty').val(available);
quantity = available;
}
var amount = (quantity * rate);
$("#getAmount").val(amount.toFixed(2));
});
function chkIsNaN(val){
if(isNaN(val)){
return '';
}
else{
return val;
}
}
关于javascript - 如何使用 Javascript 从输入框值计算要支付的金额?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43911822/