我有2個功能。一個從checkboxes
增加值,另一個將值從radioboxes
增加到var tot
。放射性元素只增加變化值,但不會減去
問題是radiobox
只會將值增加到var tot
,但不會在未選中時減少。
我沒有這個問題,直到我作用域了var tot
,但它必須這樣做,這兩個功能可以訪問它。這裏是行動的問題,一個代碼示例:
$(':checkbox:checked').prop('checked', false);
$('input[type="radio"]:checked').prop('checked', false);
$(document).ready(function() {
var tot = 0;
$('#usertotal').text('0 SEK')
$('input:checkbox').change(function() {
if (!$(this).is(':checked')) {
tot -= parseInt($(this).val());
} else {
tot += parseInt($(this).val());
}
$('#usertotal').text(tot + ' SEK')
});
$('input[type="radio"]').change(function() {
if ($(this).is(':checked')) {
tot += parseInt($(this).val());
} else if (!$(this).is(':checked')) {
tot -= parseInt($(this).val());
}
$('#usertotal').text(tot + ' SEK')
});
});
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<input type="radio" name="radioName" value="160 Yes">till 20
<input type="radio" name="radioName" class="someclass" value="5 Yes"> 20
<input type="checkbox" name="" value="29 Yes">BV
<div class="col-lg-4 col-mg-3 col-sm-12 col-xs-12 calculation-window">
Totalt: <span id="usertotal"></span>
</div>
這已在其他問題進行了討論。 [單選按鈕「更改」事件僅在激活時觸發,而不是在停用時觸發。](http://stackoverflow.com/a/18034498/1679849)您可能會發現在每次onchange事件中重新開始重複計算會更容易。 –