この関数は、ラジオ ボタンで .hasVal クラスを使用した場合に、最後にクリックした値の小計のみを計算します。何か案は?
更新: jsfiddle リンクは次のとおりです: http://jsfiddle.net/SUKsM/4/
基本的に、私の HTML フォームには値を持つフィールドセットがあります。
<fieldset id="breadOptions" class="hidden">
<legend>Select one</legend>
<input type="radio" name="breadType" id="breadWhite" class="hasVal" value=".5,260" /> White (260 calories)<br />
<input type="radio" name="breadType" id="breadWheat" class="hasVal" value=".5,360" /> Wheat (360 calories)<br />
</fieldset>
スクリプトは次のとおりです。
$(function () {
var basePrice = 3;
var totalCal = 0;
var taxRate = .07;
$('#total').text(basePrice.toFixed(2));
$('#sub').text(basePrice.toFixed(2));
$('#cal').text(totalCal);
$('#tax').text((taxRate * 100).toFixed(2));
$('.hasVal').click(function () {
var price = 0;
var totalCal = 0;
var tar = event.currentTarget;
var optArr = tar.value.split(','); //cost,calorie
price += parseFloat(optArr[0]);
totalCal += parseInt(optArr[1]);
$(':checked').each(function () {
totalPrice = (price + basePrice);
});
$('#sub').text(totalPrice.toFixed(2));
$('#cal').text(totalCal);
totalTax = totalPrice + (totalPrice * taxRate);
$('#total').text(totalTax.toFixed(2));
});
});