javascript - 我想添加两个数字并显示总数 - 删除逗号会破坏该功能

标签 javascript jquery

我想将两个数字相乘并显示在表格的末尾。

代码一直有效,直到我尝试删除逗号。这是代码:

$(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/

相关文章:

javascript - TWIG select onChange 使用参数发出 AJAX 请求

javascript - 通过 Javascript 隐藏 DataList 中除第一个元素以外的所有元素

javascript - 测试字符串是否有数字字符的条件

java - JQuery + JAVA 中的长轮询?

javascript - 如何使用动态插入的 html 元素的 javascript/Jquery 函数调用维护新 id

Javascript重新定义并覆盖现有函数体

javascript - 如何使用javaScript将文本高度调整为div

javascript - 读取其中包含 ]] 的 XML CDATA 部分

javascript - 2 RSS feeds inside on one webapp

javascript - 如何在列内随机创建网格和放置元素?