【发布时间】:2021-09-16 02:09:05
【问题描述】:
我遇到了一个问题,当我点击+,-按钮时,数量值会适当增加和减少,但我也希望当我点击增加和减少按钮时,价格也会增加和减少。我想在单击 + 或 - 按钮时增加和减少价格的值
index.html
这是我编写整个 ui 部分的 index.html 文件
<div class="container">
<h3>Solar terrace light with inbuilt panel</h3>
<div class="row">
<div class="col-md-6">
<img src="https://s3.ap-south-1.amazonaws.com/rzp-prod-merchant-assets/payment-link/description/pr11_hq0cy7e5cmwbzw"
class="w-75">
</div>
<div class="col-md-6 mt-3">
<div class="card p-4">
<h4>Payment Details</h4>
<div class="row mt-2">
<div class="col-3">
<p>Qty.</p>
</div>
<div class="col-9">
<div class="quantity">
<button class="btn minus-btn disabled" type="button">-</button>
<input type="text" id="quantity" value="1">
<button class="btn plus-btn" type="button">+</button>
</div>
<!--will calculate price---->
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<p>Name</p>
</div>
<div class="col-9">
<input type="text" class="w-100">
</div>
</div>
<div class="row">
<div class="col-3">
<p>Email</p>
</div>
<div class="col-9">
<input type="text" class="w-100">
</div>
</div>
<div class="row">
<div class="col-3">
<p>Phone</p>
</div>
<div class="col-9">
<input type="text" class="w-100">
</div>
</div>
<div class="row">
<div class="col-3">
<p>Price</p>
</div>
<div class="col-9">
<p class="total-price">
<span><i class="fas fa-rupee-sign" style="color: black;"></i></span>
<input id="price" class="text-dark" value="12,999">
</p>
</div>
</div>
<button class="btn btn-primary">Buy Now</button>
</div>
</div>
</div>
</div>
index.js
这是我为递增和递减编写整个逻辑部分的 index.js 文件
document.querySelector(".minus-btn").setAttribute("disabled", "disabled");
//taking value to increment decrement input value
var valueCount
//taking price value in variable
var price = document.getElementById("price").innerText;
//price calculation function
function priceTotal() {
var total = valueCount * price;
document.getElementById("price").innerText = total
}
//plus button
document.querySelector(".plus-btn").addEventListener("click", function () {
//getting value of input
valueCount = document.getElementById("quantity").value;
//input value increment by 1
valueCount++;
//setting increment input value
document.getElementById("quantity").value = valueCount;
if (valueCount > 1) {
document.querySelector(".minus-btn").removeAttribute("disabled");
document.querySelector(".minus-btn").classList.remove("disabled")
}
//calling price function
priceTotal()
})
//plus button
document.querySelector(".minus-btn").addEventListener("click", function () {
//getting value of input
valueCount = document.getElementById("quantity").value;
//input value increment by 1
valueCount--;
//setting increment input value
document.getElementById("quantity").value = valueCount
if (valueCount == 1) {
document.querySelector(".minus-btn").setAttribute("disabled", "disabled")
}
//calling price function
priceTotal()
})
【问题讨论】:
-
innerText是input元素的自定义属性,请改用value。另外,JS 中的小数点分隔符是一个点.。
标签: javascript html css bootstrap-4