我的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>
如果你能帮助我,那将是很棒的人。 ^^
答案 0 :(得分:1)
将所有=
替换为if语句中的==
。
此外,var input = document.getElementById("amount")
仅获取对元素的引用,而不是值。
所以在你的if语句中你需要写input.value == first
等等
这是一个可以工作的JSFiddle:https://jsfiddle.net/bbjpg9np/