【问题标题】:multiple if else condition in javascriptjavascript中的多个if else条件
【发布时间】:2016-08-05 09:51:38
【问题描述】:

我不擅长 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>

如果你能帮助我,那就太好了。 ^^

【问题讨论】:

  • 您不能使用= 来比较值。您使用= 来分配值。
  • 啊,好吧..但是我该怎么做呢?
  • 使用 == 而不是 = 来比较值。

标签: javascript php html database


【解决方案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时,“With Rebate 57”

【讨论】:

  • 提供您的 html,我们可以为您提供更好的帮助
  • 哈哈,对不起,我不得不发布小提琴链接。我的小提琴解决了你的回扣问题。我猜sum() 现在已经无关紧要了
  • 我知道了,先生...非常感谢...真的很有帮助^^
猜你喜欢
  • 2018-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-15
  • 2020-05-31
  • 2022-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多