【发布时间】:2020-06-30 10:36:41
【问题描述】:
我编写了一个简单的排序系统,您可以从输入的数字中“选择”一个整数,然后当您单击“更新”按钮时,它会更改其下方段落元素的内部文本。但是,我尝试了两种方法:
- orderQuantity 的纯 JavaScript - innerHTML 不更新
- orderQuantity 的 parseInt - 在 innerHTML 中返回 £NaN
请有人指出我哪里出错了?
代码如下:
let orderQuantity = parseInt(document.getElementById("order-stepper").value);
let orderText = document.getElementById("order-value");
let orderValue = 2.50;
let orderAmount = orderValue * orderQuantity;
let updateButton = document.getElementById("order-update");
function update() {
orderText.innerHTML = ("Total cost: £" + orderAmount);
}
updateButton.addEventListener("click", update);
.order-stepper {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.order-stepper label {
font-size: 20px;
margin: 30px 20px;
}
.order-stepper input {
font-size: 18px;
background-color: #f9f9f9;
color: #999;
}
.order-price {
width: 80%;
display: flex;
align-items: center;
justify-content: center;
}
#order-value {
font-size: 28px;
}
#order-update {
height: 60px;
width: 300px;
display: flex;
align-items: center;
justify-content: center;
margin: 30px 0;
border: 3px solid #e2979c;
border-radius: 5px;
font-size: 2rem;
font-weight: bold;
background-color: #fff;
cursor: pointer;
}
#order-update:hover {
background-color: #e2979c;
}
<div class="order-stepper">
<label for="quantity">Select your quantity</label>
<input id="order-stepper" type="number" name="quantity" value="" max="3">
</div>
<button id="order-update" type="button" name="button">Update</button>
<div class="order-price">
<h2 id="order-value">Total cost: £0</h2>
</div>
谢谢。
【问题讨论】:
-
计算应该在
update()函数中进行,否则它将总是更新已经计算好的旧值 -
谢谢 - 你是对的。知道很简单哈哈!感谢您的帮助。
标签: javascript html css