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

时间:2017-05-11 09:42:10

标签: 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。 请建议,我在这个问题上花了太多时间,而且我没有想法。 非常感谢你!

1 个答案:

答案 0 :(得分:0)

如果任何文本框都有空值,则会出现此问题。因此您必须在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;
}
}