Так что это задание, которое я получил только в своем веб-классе, и, честно говоря, у меня не было ни одного инструктора, который бы четко объяснил, как работает цикл for. В основном вместо того, чтобы иметь кучу разных переменных var и кучу операторов if для каждого из них, мне нужен один var для всех входов и цикл for, который будет проходить через каждый вход и добавлять к итогу. Я включил свой код, который работал, который не имеет цикла, и моя попытка использовать цикл для этого. Я просто не могу понять петли, и чтение в Интернете не помогло вообще.Оператор if в цикле for
Этот код делает то, что конечная цель:
<article>
<h2>Food Menu</h2>
<form>
<input type="checkbox" id="item1" value="8" />
<label for="item1">Fried chicken ($8.00)</label>
<input type="checkbox" id="item2" value="9" />
<label for="item2">Honey Baked Ham ($9.00)</label>
<input type="checkbox" id="item3" value="8" />
<label for="item3">Mac and Cheese ($8.00)</label>
<input type="checkbox" id="item4" value="13" />
<label for="item4">Grilled Salmon ($13.00)</label>
<input type="checkbox" id="item5" value="6" />
<label for="item5">Side salad ($6.00)</label>
<input type="submit" id="submit" value="Submit" />
</form>
<script>
function calcTotal(){
var itemTotal=0;
var item1=document.getElementById("item1");
var item2=document.getElementById("item2");
var item3=document.getElementById("item3");
var item4=document.getElementById("item4");
var item5=document.getElementById("item5");
if(item1.checked==true){itemTotal+=8;}
if(item2.checked==true){itemTotal+=9;}
if(item3.checked==true){itemTotal+=8;}
if(item4.checked==true){itemTotal+=13;}
if(item5.checked==true){itemTotal+=6;}
var salesTaxRate=0.07;
var orderTotal=itemTotal+(itemTotal*salesTaxRate);
document.getElementById("total").innerHTML="Your order total is $"+orderTotal,false;
}
document.getElementById("submit").addEventListener("click",calcTotal,false);
;
</script>
</article>
Этот код моя попытка получения того же результата с цикл.
<article>
<h2>Food Menu</h2>
<form>
<input type="checkbox" id="item1" value="8" />
<label for="item1">Fried chicken ($8.00)</label>
<input type="checkbox" id="item2" value="9" />
<label for="item2">Honey Baked Ham ($9.00)</label>
<input type="checkbox" id="item3" value="8" />
<label for="item3">Mac and Cheese ($8.00)</label>
<input type="checkbox" id="item4" value="13" />
<label for="item4">Grilled Salmon ($13.00)</label>
<input type="checkbox" id="item5" value="6" />
<label for="item5">Side salad ($6.00)</label>
<input type="submit" id="submit" value="Submit" />
</form>
<script>
function calcTotal(){
var itemTotal=0;
var items = document.getElementById("input");
var salesTaxRate=0.07;
var orderTotal=itemTotal+(itemTotal*salesTaxRate);
document.getElementById("total").innerHTML="Your order total is $"+orderTotal,false;
for(i=0: i < items.length; i++){
if(input.items[i].checked==true)
orderTotal+=(items[i].value*1);
}
window.alert(itemTotal)
}
document.getElementById("submit").addEventListener("click",calcTotal,false);
;
</script>
</article>
Использование 'document.getElementsByTagName ("input"); ' – 4castle