javascript中的多个if else条件

时间:2016-04-14 02:49:57

标签: javascript php html database

我的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>

如果你能帮助我,那将是很棒的人。 ^^

1 个答案:

答案 0 :(得分:1)

将所有=替换为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时,“使用回扣57”