因此,我制作了一个简单的JavaScript代码,该代码将根据似乎已正常运行的所有复选框更改最终值,然后我应该添加折扣,例如,如果选中了DPF,则EGR应该是免费的(0 €)
我打算添加第二个迷你函数,如果设置了条件,它们只会更改另一个函数的值,但是后来我发现这会带来很多问题。示例:如果I DPF-检查的EGR值= 0,如果有人检查了DPF,然后检查了EGR,然后又未检查了DPF,这将带来很大的问题,他将无缘无故获得EGR,对吗?
var running_total = 0;
var calculator = 0;
var previous = 0;
function update(feature) {
// Check
if(feature.checked == true){
// Add value to running_total
running_total += parseInt(feature.value);
document.getElementById('total').value = running_total + '€';
}
// Uncheck
if(feature.checked == false){
// Subtract value from running_total
running_total -= parseInt(feature.value);
document.getElementById('total').value = running_total + '€';
}
}
function update1(feature) {
if(feature.checked == true) {
running_total += parseInt(feature.value) - previous;
previous = feature.value
document.getElementById('total').value = running_total + '€';
}
}
<div>
Checksum Request <input id="ChecksumRequest" type="checkbox" value="10" name="" onchange="update(this)">
Original File Request <input id="OriginalFileRequest" type="checkbox" value="20" name="" onchange="update(this)">
EGR Off <input id="EGROff" type="checkbox" value="30" name="EGROff" onchange="update(this)">
DTC Delete<input id="DTCDelete" type="checkbox" value="10" name="" onchange="update(this)">
Swirl Flaps Off <input id="SwirlFlapsOff" type="checkbox" value="30" name="" onchange="update(this)">
</div>
<div>
stage 1<input id="one" name="stage" type="radio" onchange="update1(this);" value="15">
stage 2<input id="two" name="stage" type="radio" onchange="update1(this);" value="30">
stage 3<input id="three" name="stage" type="radio" onchange="update1(this);" value="60">
</div>
<div>
<input id="total" name="total" type="text" value="0€" readonly>
</div>
因此,我想知道是否有人可以给我一些操作提示,因此我是否必须更改整个代码?还是有更简单的方法,任何帮助都将非常重要,谢谢
Here's a
JSFIDDLE