我有一个用于成本的计算脚本,但是当我尝试清空价格框时,我有一个小问题,在成本框中有“ NaN”。
我不知道问题出在哪里。我进行了以下更改:digitsVal=isNaN(digitsVal)?0:digitsVal;
变为var digitsVal=isNaN(digitsVal)?0:digitsVal;
,首先此代码有效,但第二次我尝试在成本框中清空,但成本框中仍存在“ NaN”。
如何修复此计算脚本?关于此脚本有解决方案吗?
范例:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>berkelilingkesemua.info</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>
<body>
<script>
$(document).ready(function() {
var price=$('#price'),
phone=$('#phone_number'),
digits=$('#digits'),
sum=$('#sum');
function calculateSum() {
var digitsVal=parseInt(phone.val().substr(-2));
digitsVal=isNaN(digitsVal)?0:digitsVal;
digits.val(digitsVal);
sum.val(parseFloat(price.val())+digitsVal);
};
phone.on('keyup', calculateSum);
price.on('keyup', calculateSum);
});
</script>
<table width="300px" border="1">
<tr>
<td width="40px">1</td>
<td>Price</td>
<td><input class="txt" name="price" type="text" id="price"></td>
</tr>
<tr>
<td>2</td>
<td>Phone Number</td>
<td><input name="phone_number" type="text" id="phone_number"></td>
</tr>
<tr>
<td>3</td>
<td>2 Digits</td>
<td><input class="txt" name="digits" type="text" id="digits" readonly></td>
</tr>
<tr id="summation">
<td> </td>
<td align="right">Cost :</td>
<td align="center"><input type="text" name="sum" id="sum" value="0"></span></td>
</tr>
</table>
</body>
</html>
最佳答案
更换:
sum.val(parseFloat(price.val())+digitsVal);
带有:
isNaN(parseFloat(price.val())+digitsVal) ? sum.val(0) : sum.val(parseFloat(price.val())+digitsVal);
我认为这应该为您工作
关于javascript - 如何修复成本框中具有“NaN”的计算脚本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31650979/