我想将两个数字相乘并显示在表格的末尾。
代码一直有效,直到我尝试删除逗号。这是代码:
$(document).ready(function () {
function calc() {
var $no1 = ($.trim($('.no1').val()) != '' && !isNaN($('.no1').val())) ? parseFloat($('.no1').val()) : 0;
var $no1 = ($('no1.').val()).replace(/,/g, '');
console.log($no1);
var $price1 = $(.trim($('.price1').val()) != '' && !isNaN($('.price1').val())) ? parseFloat($('.price1').val()) : 0;
var $price1 = ($('.price1.').val()).replace(/,/g, '');
console.log($price1);
var n = $no1 * $price1;
$('.sum1').val(n.toFixed(2));
}
$('.key1').keyup(function () {
calc();
});
});
最佳答案
试试这个:
var No1 = $.trim($('.no1').val()).replace(/,/g, '');
var $no1 = No1 != '' && !isNaN(parseFloat(No1)) ? parseFloat(No1) : 0;
var Price1 = $.trim($('.price1').val().replace(/,/g, '');
var $price1 = Price1 != '' && !isNaN(parseFloat(Price1)) ? parseFloat(Price1) : 0;
而不是
var $no1 = ($.trim($('.no1').val()) != '' && !isNaN($('.no1').val())) ? parseFloat($('.no1').val()) : 0;
var $no1 = ($('no1.').val()).replace(/,/g, '');
//
var $price1 = $(.trim($('.price1').val()) != '' && !isNaN($('.price1').val())) ? parseFloat($('.price1').val()) : 0;
var $price1 = ($('.price1.').val()).replace(/,/g, '');
该错误是因为您正在分配具有浮点解析值和逗号替换字符串的同一变量。
因此,$no1 和 $price1 中的值将是字符串。逗号后替换。
此代码在浮点解析之前替换第一个表达式本身中的逗号。因此,$no1 和 $price1 是 float 的。
希望这有帮助。
关于javascript - 我想添加两个数字并显示总数 - 删除逗号会破坏该功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42436919/