このコードでは、フォームに基づいていくつかの値を加算し、最小値を減算して新しい合計を作成します。コードはうまく機能します。私がやりたいのは、一番下に新しい合計だけを表示するのではなく、3. 減算なしの元の合計、減算した最低価格の値、そして最後に実際の合計を表示することです。新しい合計。現在のところ、新しい合計のみが表示されています。
例: スカーフが $5、帽子が $10、ジャケットが $20 の 3 つのアイテムがあります。$35 に等しいすべての値を追加し、次に $5 のスカーフである最低値を差し引いて、新しい合計 $30 を取得します。これを一番下に表示したい。
合計: $35 割引: $-5 新規 合計: $30
関数はすでにこれらすべての値を把握していますが、関数からそれらを呼び出す方法がわかりません。
// All selected prices are stored on a array
var prices = [];
// A function to remove a item from an array
function remove(array, item) {
for (var i = 0, len = array.length; i < len; i++) {
if (array[i] == item) {
array.splice(i, 1);
return true;
}
}
return false;
}
function calculateSectedDues(checkbox, amount) {
// We add or remove the price as necesary
if (checkbox.checked) {
prices.push(amount);
} else {
remove(prices, amount);
}
// We sum all the prices
var total = 0;
for (var i = 0, len = prices.length; i < len; i++)
total += prices[i];
// We get the lower one
var min = Math.min.apply(Math, prices);
if(min == Infinity) { min = 0; };
// And substract it
total -= min;
document.grad_enroll_form.total.value = total;
}