gpt4 book ai didi

Javascript - Sum/Total 正在读取 NaN

转载 作者:行者123 更新时间:2023-11-29 19:26:02 25 4
gpt4 key购买 nike

我正在制作一个定价表,您可以输入商品的数量并自动计算成本。我已经创建了方程式,现在只需要将结果相加即可得出总计,这不起作用并显示 NaN 错误。是因为数据没有格式化为数字吗?还是与我的函数加载顺序有关?我是 JavaScript 的新手,任何帮助都会很棒,干杯!

<!doctype html>

<html>
<body>
<p>Item 1</p>
<input type="number" onkeyup="equation1() sum()" onkeydown="equation1(); sum()" value="3" id="box1">
<p id="result1"></p>
<div class="clear"></div>

<p>Item 2</p>
<input type="number" onkeyup="equation2() sum()" onkeydown="equation2(); sum()" value="1" id="box2">
<p id="result2"></p>
<div class="clear"></div>

<p>Total</p>
<p id="total"></p>
<div class="clear"></div>

<script>
var x = document.getElementById("box1").value;
var y = x * 6.23;
var z = "$" + y.toFixed(2);
document.getElementById("result1").innerHTML = z;

function equation1() {
var x = document.getElementById("box1").value;
var y = x * 6.23;
var z = "$" + y.toFixed(2);
document.getElementById("result1").innerHTML = z;
}

var x = document.getElementById("box2").value;
var y = x * 8.15;
var z = "$" + y.toFixed(2);
document.getElementById("result2").innerHTML = z;

function equation2() {
var x = document.getElementById("box2").value;
var y = x * 8.15;
var z = "$" + y.toFixed(2);
document.getElementById("result2").innerHTML = z;
}

var price1 = document.getElementById("result1");
var price2 = document.getElementById("result1");
var x = +price1 + +price2;
var z = "$" + x.toFixed(2);
document.getElementById("total").innerHTML = z;

function sum() {
var price1 = document.getElementById("result1");
var price2 = document.getElementById("result1");
var x = +price1 + +price2;
var z = "$" + x.toFixed(2);
document.getElementById("total").innerHTML = z;
}
</script>
</body>
</html>

最佳答案

问题是段落的文本内容需要被读取为innerHTML(或textContent)。另外,在对它们执行数学运算之前,您需要从中删除 $ 符号:

var price1 = document.getElementById("result1").innerHTML.replace('$', '');
var price2 = document.getElementById("result1").innerHTML.replace('$', '');

演示: http://jsfiddle.net/2vwqgkre/

关于Javascript - Sum/Total 正在读取 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30772672/

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