2016-08-22 50 views
-1

我試圖設置一種方式,以便如果我的購物車總價格低於125美元,它將收取125美元。我已經使用多種方法獲取訂單的最低限度添加,但沒有與如何設置此代碼的作品。如果你想擁有至少$ 125,你可以做的是簡單地設定總到最低限度你回到它之前的最簡單的事情充電設置Javascript訂單價格最低

function Recalculate() { 
    var total = 0; 
    $.each(cart, function(index, item) { 
    var options = {}; 
    if (item.o) $.each(item.o, function(opt_ind, opt_item) { 
     options[opt_item.name] = opt_item.value; 
     options[opt_item.id] = opt_item.value; 
    }); 

    var width_ft = parseInt(options.width_ft); 
    if (!width_ft || isNaN(width_ft)) width_ft = 0; 

    var width_in = parseInt(options.width_in); 
    if (!width_in || isNaN(width_in)) width_in = 0; 

    var width = width_ft + width_in/12; 

    var length_ft = parseInt(options.length_ft); 
    if (!length_ft || isNaN(length_ft)) length_ft = 0; 

    var length_in = parseInt(options.length_in); 
    if (!length_in || isNaN(length_in)) length_in = 0; 

    var sq = width * length; 
    var inshop = options.type_of_cleaning == 'In_Shop_Cleaning'; 

    var base_price = 0; 
    var base_min = 0; 
    switch (item.p) { 
     case 'livingroom': 
     base_price = LIVING_ROOM; 
     break; 
     case 'stair': 
     base_price = STAIR; 
     break; 
    } 

    var i_total = sq * base_price; 
    if (i_total < base_min) i_total = base_min; 
    $('span.isize').eq(index).html('$' + i_total.toFixed(2)); 
    total += i_total; 

    if (options.SCOTCHGARD == 'on') total += Math.min(sq * SCOTCHGARD, 25.00); 
    if (options.DECON == 'on') total += Math.min(sq * DECON, 25.00); 
    if (options.DA == 'on') total += Math.min(sq * DA, 25.00); 
    if (options.clean_or_buy == 'buy') total += i_total * NEW_PAD_TAX/100; 

    }); 
    return [total]; 
} 
+0

你應該怎麼看起來像結果? –

+1

你已經包含你的代碼,但不包括錯誤或預期的輸入/輸出。我們也很難調試這些信息的問題。 – ssube

回答

0

:請查看下面的代碼。例如

if (total < 125) { total = 125; } 
return total; 

(請注意,此函數返回total[total],因爲它爲什麼你想要一個值的數組返回的我也不清楚。)

你的問題包括短語」 .. 。添加訂單最小值「。這對我來說沒有任何意義,即如果真正的總數是100美元,我懷疑你想 125美元(總共225美元),而是你只是想將總數設置爲最小值。如果這是正確的,但你要跟蹤你添加額外的,那麼也許你能做到以下幾點,你從函數返回再次右鍵前:

var extraForMinimum = 0; 
if (total < 125) { extraForMinimum = 125 - total; } 
return {total: total, extraForMinimum: extraForMinimum }; 

在這種情況下,該功能返回一個包含實際總數(仍然可能小於125美元)的對象,以及將費用降至最低所需的額外成本。但是,如果您正在執行此操作,則可能需要將變量名稱從total更改爲subtotal或其他類似內容。