javascript - 如何使用 Javascript 从输入框值计算要支付的金额?

标签 javascript html mysql

我在 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/

相关文章:

javascript - .click() 是真正的鼠标点击吗?

javascript - jQuery 如何为每个单独的行更改行背景颜色?

javascript - 为什么我的元素在被选中时会向下移动?

html - AngularJS: Bootstrap 中的响应高度

java - 当我进行 Rest api 调用时,使用 SpringBoot 动态创建列/表

javascript - $compile 在 Angular 指令中不起作用

javascript - 检查没有值的 HTML5 数据属性

javascript - 在javascript中将cp1252转换为unicode

mysql - 聚合订单

php - 确定变量中的空白实际上是什么