【发布时间】:2018-02-06 09:57:04
【问题描述】:
我正在尝试在用户单击提交按钮之前实时显示两个无线电组的计算。
<div class="container-5">
<div class="choices1">
<h1 class>Regular<br>Regular Choice</h1>
<input type="radio" id="thirteen" name="style" value="13.00">
</div>
<div class="choices2">
<h1>Popular<br>Popular Choice</h1>
<input type="radio" id="fifteen" name="style" value="15.00">
</div>
<div class="choices3">
<h1>Fancy<br>Fancy Choice<br>Literally.</h1>
<input type="radio" id="twenty" name="style" value="20.00">
</div>
</div>
<div class="container-8">
<div class="gratuity1">
<h1 class>15%<br>Good.</h1>
<input type="radio" id="15" name="tip" value=".15">
</div>
<div class="gratuity2">
<h1>20%<br>Excellent Service.</h1>
<input type="radio" id="20" name="tip" value=".20">
</div>
<div class="gratuity3">
<h1>25%<br>Beyond Excellent</h1>
<input type="radio" id="25" name="tip" value=".25">
</div>
</div>
我使用的是纯 JavaScript。
假设这些类别中的每一个都代表所选单选按钮的值。一旦我定义了我创建的变量 if 语句来测试两个按钮是否都被选中并且事件是否会发生
var styleVal1= 3.0;
var styleVal2 = 5.0;
var styleVal3 = 10.0;
var tipVal1 = 0.1;
var tipVal2 = 0.15;
var tipVal3 = 0.2;
var total = 0.00;
if (document.getElementById("thirteen").selected) {
document.getElementById("thirteen").addEventListener("click", function() {
total = styleVal1;
document.getElementById("total").innerHTML = "Total:$ " + total;
if (document.getElementById("15").selected) {
total += total * tipVal1;
document.getElementById("total").innerHTML = "Total:$ " + total;
} else if (document.getElementById("20").selected) {
total += total * tipVal2;
document.getElementById("total").innerHTML = "Total:$ " + total;
} else (document.getElementById("25").selected) {
total += total * tipVal3;
document.getElementById("total").innerHTML = "Total:$ " + total;
}
});
}
我还为 document.getElementById("fifteen").selected) {} and if (document.getElementById("twenty").selected {} 创建了 if 语句
我没有把它放在正确的顺序还是我错过了什么?甚至可以在 if 语句中执行 else if 语句吗?
【问题讨论】:
-
您是否要求进行代码审查?还是有什么不工作?
-
我觉得一切都应该正常,所以也许只是代码审查。我还是个新手。
标签: javascript if-statement dom radio-button addeventlistener