私は2つのJQuery関数を持っています:
$('.satnav').change(function() {
$('#satnavadd').show();
var price = "<?php echo $finalprice; ?>";
//alert(price);
var numofdays = "<?php echo $length->days; ?>";
//alert(numofdays);
var numberofsatnav = $(this).val();
//alert(numberofsatnav);
var satnavcost = Number(3) * Number(numofdays);
//alert(satnavcost);
var satnavtotal = Number(numberofsatnav) * Number(satnavcost);
var newprice = Number(price) + Number(satnavtotal);
$("input#satnavprice").val(satnavtotal);
$("input#satnavnum").val(numberofsatnav);
});
$('.boostseat').change(function() {
$('#boostseatadd').show();
var price = "<?php echo number_format($finalprice, 2); ?>";
//alert(price);
var numberofboostseat = $(this).val();
//alert(numberofboostseat);
var numofdays = "<?php echo $length->days; ?>";
//alert(numofdays);
var boostcost = Number(3) * Number(numofdays);
var boosttotal = Number(numberofboostseat) * Number(boostcost);
var newprice = Number(price) + Number(boosttotal);
$("input#hiddenboostprice").val(boosttotal);
$("input#hiddenboostnum").val(numberofboostseat);
});
ご覧のとおり、どちらも価格を計算してからHTML要素を更新しますが、両方の最終的な合計も合計したいと思います。
したがって、たとえば:
var extrastotal = Number(boosttotal) + Number(satnavtotal);
ただし、変数を関数の外に移動できないか、機能しません。とにかくこれを回避する方法はありますか、それとも両方のコードが重複している別の関数を作成する必要がありますか?