Javascript如果选中第一个和第二个复选框,则向变量添加值

Javascript如果选中第一个和第二个复选框,则向变量添加值,javascript,if-statement,checkbox,add,Javascript,If Statement,Checkbox,Add,我最近开始学习Javascript,我想我将编写一个类似价格计算器的脚本。原价是200英镑。如果客户选择第一个复选框选项,则价格增加50,如果选择第二个复选框,则价格增加150,如果两者都选择,则价格增加150和50。到目前为止,我有他们两个单独工作,但他们不会增加金额的价格,如果这两个复选框被选中 我怎样才能解决这个问题?除了if…else,我还应该用别的吗 Javascript function myFunction() { var price; var originalprice = 2

我最近开始学习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

选中一个或两个复选框
对:
不:
对:
不:
如果客户选择第一个复选框选项,则价格增加50,如果选择第二个复选框,则价格增加150,如果两者都选择,则价格增加150和50

由于您想要两者,您应该使用两个if条件,而不是
else if
,并且即使您不必指定最后一个
else
,如果两个
复选框未选中,第一个和第二个价格将取初始值,即零。所以试试这个:

var originalprice=200;
var firstprice=0;
var secondprice=0;
如果(checkBox.checked==true){
第一价格=50;
}
if(checkBox2.checked==true){
第二价格=150;
}
var价格=第一价格+第二价格+原始价格;
如果客户选择第一个复选框选项,则价格增加50,如果选择第二个复选框,则价格增加150,如果两者都选择,则价格增加150和50

由于您想要两者,您应该使用两个if条件,而不是
else if
,并且即使您不必指定最后一个
else
,如果两个
复选框未选中,第一个和第二个价格将取初始值,即零。所以试试这个:

var originalprice=200;
var firstprice=0;
var secondprice=0;
如果(checkBox.checked==true){
第一价格=50;
}
if(checkBox2.checked==true){
第二价格=150;
}
var价格=第一价格+第二价格+原始价格;

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

函数myFunction(){
原价变异系数=200;
var firstprice=0;
var secondprice=0;
var价格=原始价格;
var checkBox=document.getElementById('myCheck');
var checkBox2=document.getElementById('myCheck2');
如果(checkBox.checked==true){
第一价格=50;
}
if(checkBox2.checked==true){
第二价格=150;
}
var价格=第一价格+第二价格+原始价格;
var el=document.getElementById('showprice');
el.textContent=价格;
}

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

函数myFunction(){
原价变异系数=200;
var firstprice=0;
var secondprice=0;
var价格=原始价格;
var checkBox=document.getElementById('myCheck');
var checkBox2=document.getElementById('myCheck2');
如果(checkBox.checked==true){
第一价格=50;
}
if(checkBox2.checked==true){
第二价格=150;
}
var价格=第一价格+第二价格+原始价格;
var el=document.getElementById('showprice');
el.textContent=价格;
}

谢谢!现在看起来很简单。我从未见过有人多次使用if。人们经常用这个吗?欢迎,当然可以。当您遇到这样的情况时,它们非常有用,您需要同时检查这两个选项!谢谢现在看起来很简单。我从未见过有人多次使用if。人们经常用这个吗?欢迎,当然可以。当您遇到这样的情况时,它们非常有用,您需要同时检查这两个选项!
<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>