【问题标题】:Javascript if first and second checkbox checked add values to variable如果选中第一个和第二个复选框,则 Javascript 将值添加到变量
【发布时间】:2021-05-07 09:48:14
【问题描述】:

我最近开始学习 Javascript,我坚持要编写一个像价格计算器一样的脚本。原始价格为 200。如果客户选择第一个复选框选项,则价格会增加 50,如果第二个则价格会增加 150,如果两者都选择,则价格会增加 150 和 50。到目前为止,我让他们两个单独工作,但如果两个复选框都被选中,他们不会增加价格。

我该如何解决这个问题?除了 if...else 之外,我应该使用其他任何东西吗?

Javascript

function myFunction() {

var price;
var originalprice = 200;
var firstprice = 0;
var secondprice = 0;

var checkBox = document.getElementById('myCheck');
var checkBox2 = document.getElementById('myCheck2');

if (checkBox.checked == true){
    
    firstprice = 50;
    
    
}else if(checkBox2.checked == true){
    
    secondprice = 150;
    
}

else {
    
    price = originalprice;
}

var price = firstprice + secondprice + originalprice;

var el = document.getElementById('showprice');
el.textContent=price;



}

HTML

<h1>Check one or both of the checkboxes</h1>

Yes: <input type="checkbox" id="myCheck" onclick="myFunction()">
No: <input type="checkbox">

Yes: <input type="checkbox" id="myCheck2" onclick="myFunction()">
No: <input type="checkbox">



<div id="showprice">



</div>

【问题讨论】:

    标签: javascript if-statement checkbox add


    【解决方案1】:

    如果客户选择第一个复选框选项,则会在价格上加 50,如果是第二个,则在价格上加 150,如果两者都选,则在价格上加 150 和 50。

    既然你想要两个你应该使用两个 if 条件而不是 else if,即使你不必指定最后一个 else,如果两个 checkboxes 未选中 第一个和第二个价格 将采用初始值为零。所以试试这个:

    var originalprice = 200;
    var firstprice = 0;
    var secondprice = 0;
    if (checkBox.checked == true){
        firstprice = 50;
    }
    if(checkBox2.checked == true){
        secondprice = 150;
    }
    var price = firstprice + secondprice + originalprice;
    

    【讨论】:

    • 谢谢!现在看起来很简单。我从未见过有人多次使用 if 。人们经常使用它吗?
    • 欢迎,当然可以。当您遇到这种需要同时检查的情况时,它们很有用!
    【解决方案2】:

    您正在尝试为价格添加价值,但此脚本仅适用于一个复选框,因为您使用的是 if else ,只需在此处删除 else 并将默认价格放在顶部,无需将其放在 else 中。

    function myFunction() {
    
    
    var originalprice = 200;
    var firstprice = 0;
    var secondprice = 0;
    var price = originalprice;
    
    var checkBox = document.getElementById('myCheck');
    var checkBox2 = document.getElementById('myCheck2');
    
      if (checkBox.checked == true){
        firstprice = 50;
      }
      if(checkBox2.checked == true){
        secondprice = 150;
      }
    
      var price = firstprice + secondprice + originalprice;
    
      var el = document.getElementById('showprice');
      el.textContent=price;
    
    }
    

    【讨论】:

      猜你喜欢
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 2018-01-23
      • 1970-01-01
      • 2016-09-04
      • 1970-01-01
      • 1970-01-01
      • 2019-07-12
      相关资源
      最近更新 更多