【发布时间】:2014-02-21 22:47:36
【问题描述】:
我有一个复选框部分,用户可以选择它来添加功能。我需要将每个输入的值添加到要在#payment-total 和#payment-rebill 部分中显示的总和中。本质上,如果他们选择其中两个复选框,#payment-total 和 #payment-rebill 将 = 100。我能够获得要添加/更改的第一个数字,但也无法让 #payment-rebill 进行更改。
这是我的html:
<section id="extra-features">
<label class="header">Extra Features ($50/month): </label><br><br>
<div class="span3">
<label class="checkbox" for="Checkbox1">
<input value="50" type="checkbox" id="Checkbox1" value="option1" data-toggle="checkbox"> Instagram
</label>
<label class="checkbox">
<input value="50" type="checkbox" id="Checkbox2" value="option2" data-toggle="checkbox"> Review site monitoring
</label>
<label class="checkbox">
<input value="50" type="checkbox" id="Checkbox3" value="option3" data-toggle="checkbox"> Google+
</label>
<label class="checkbox">
<input value="50" type="checkbox" id="Checkbox4" value="option4" data-toggle="checkbox"> LinkedIn
</label>
</div>
<div class="span3">
<label class="checkbox">
<input value="50" type="checkbox" id="Checkbox5" value="option5" data-toggle="checkbox"> Pinterest
</label>
<label class="checkbox">
<input value="50" type="checkbox" id="Checkbox6" value="option6" data-toggle="checkbox"> FourSquare
</label>
<label class="checkbox">
<input value="50" type="checkbox" id="Checkbox7" value="option7" data-toggle="checkbox"> Tumblr
</label>
<label class="checkbox">
<input value="50" type="checkbox" id="Checkbox8" value="option8" data-toggle="checkbox"> Advertising
</label>
</div>
</section>
<div class="card-charge-info">
Your card will be charged $<span id="payment-total">0</span> now, and your subscription will bill $<span id="payment-rebill">0</span> every month thereafter. You can cancel or change plans anytime.
</div>
我的javascript:
var inputs = document.getElementsByClassName('sum'),
total = document.getElementById('payment-total');
total1 = document.getElementById('payment-billed');
for (var i=0; i < inputs.length; i++) {
inputs[i].onchange = function() {
var add = this.value * (this.checked ? 1 : -1);
total.innerHTML = parseFloat(total.innerHTML) + add
total1.innerHTML = parseFloat(total1.innerHTML) + add
}
}
这是我的 jsfiddle:http://jsfiddle.net/rynslmns/6NJ8e/10/
【问题讨论】:
标签: javascript html css checkbox sum