我不擅长javascript,所以我在尝试一段代码。我想有一个多重条件,不同的均衡,将减去一个值。这是我的示例代码,但它没有起作用,只有第一个条件起作用。
var input = document.getElementById("amount");
var first = 30;
var second = 50;
var third = 60;
input.addEventListener("keyup", function () {
if (input = first) {
document.getElementById('rebate').value = document.getElementById('amount').value - 2;
}
else if (input = second) {
document.getElementById('rebate').value = document.getElementById('amount').value - 2.50;
}
else if (input = third) {
document.getElementById('rebate').value = document.getElementById('amount').value - 3;
}
});
function sum() {
var txtFirstNumberValue = document.getElementById('txt1').value;
var txtSecondNumberValue = document.getElementById('amount').value;
var result = parseInt(txtFirstNumberValue) + parseInt(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('total').value = result;
}
}
html
<div class="form-group">
<label for="amount">Amount</label>
<input type="text" id="txt1" onkeyup="sum();" value="5" hidden>
<input type="text" class="form-control " id="amount" name="amount" placeholder="00" required onkeyup="sum();">
</div>
<div class="row">
<div class="col-xs-3">
<div class="form-group">
<label for="total">Total</label>
<input type="text" class="form-control" id="total" name="total" placeholder="00" required readonly >
</div>
</div>
</div>
<div class="row">
<div class="col-xs-3">
<div class="form-group">
<label for="total">With Rebate</label>
<input type="text" class="form-control" id="rebate" name="rebate" required readonly >
</div>
</div>
</div>
如果你能帮我的话,那就太好了。^^
将if语句中的所有=
替换为==
。
此外,var input = document.getElementById("amount")
只获取对元素的引用,而不是值。
所以在你的if语句中,你需要写input.value == first
等
以下是一个有效的JSFiddle:https://jsfiddle.net/bbjpg9np/
- 当用户键入30时,"With Rebate 28"
- 当用户键入50时,"With Rebate 47.5"
- 当用户键入60时,"With Rebate 57"