gpt4 book ai didi

javascript - 计算数量*价格=总计|总计/价格 = 数量

转载 作者:行者123 更新时间:2023-11-28 03:57:15 30 4
gpt4 key购买 nike

我需要一些帮助。

我希望“总计”“数量*价格=总计”计算(到目前为止没问题)。问题是我还需要通过“总/价格=数量”来计算“数量”,即如果一个字段发生更改,另一个字段也会自动更改。

我做了一个非常简单的示例代码:JSFiddle

//Value of Price (Hidden)
$('#price').val(31245);

//Calculation
var qty=$("#qty");
qty.keyup(function(){
var total=isNaN(parseInt(qty.val()* $("#price").val())) ? 0 :(qty.val()* $("#price").val())
$("#total").val(total);
});
var total=$("#total");
total.keyup(function(){
var qty=isNaN(parseInt(total.val()/ $("#price").val())) ? 0 :(total.val()/ $("#price").val())
$("#qty").val(qty);
});

//Mask Total input
var originalVal = $.fn.val;

$.fn.val = function(value) {
if (typeof value == 'undefined') {
return originalVal.call(this);
} else {
setTimeout(function() {
this.trigger('mask.maskMoney');
}.bind(this), 100);
return originalVal.call(this, value);
}
};

$('#total').maskMoney();

$('#total').on('click mousedown mouseup focus blur keydown change input', function(event) {
console.log('This Happened:'+ event.type);
});

其中第一部分“数量 * 价格 = 总计” 工作正常并自动更新。然而,当在第二部分“总价=数量”时,问题就出现了。

当“总计”输入中输入的数字太大(例如:9,876.23)时,不会自动计算数量并返回 0。但如果数字为 893.23,则数量将按其应有的方式工作。

你们有人能帮我吗? (抱歉我的英语不好)

Ps:我需要数量字段的值不超过 8 位小数(例如:0.00000000)。但在我的所有尝试中,计算都不起作用。

最佳答案

调试此问题的最简单方法是在适当的位置设置断点并查看发生了什么。例如,在 Chrome 中,打开开发工具,找到结果面板,然后设置断点:

Picture of JSFiddle at the appropriate spot

然后,在控制台中,开始计算表达式的各个部分。在这里,我评估了 total.val()。那么发生了什么?

要认识到的关键是 total.val() 返回一个字符串!那么,当您使用 "9,873.76" 作为数字时会发生什么?没错,JavaScript 不知道如何处理逗号和双引号,返回 NaN

当你的数字有数千时,为什么它会出现?因为较小的数字没有逗号。

因此,结果是,你的得分为零。

关于javascript - 计算数量*价格=总计|总计/价格 = 数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47475208/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com