2014-01-08 30 views
0

我試圖通過bigcommerce從地面上獲得新的網站,發現他們沒有任何貨運。我足夠了解我的問題以及模板文件中需要更改的代碼,但不會創建代碼來執行我想要的操作。目前,航運是在結帳顯示「在結帳時計算」的代碼顯示運費塊計算是如果大於發貨重量檢查

<div class="DetailRow" style="display: %%GLOBAL_HideShipping%%"> 
     <div class="Label">%%LNG_Shipping%%:</div> 
     <div class="Value"> 
      %%GLOBAL_ShippingPrice%% 
     </div> 
    </div> 

我需要的行%% GLOBAL_ShippingPrice %%,這使得「在結帳時計算」只下150磅項目出現對於大於150磅的物品,則顯示「聯繫我們以獲取運輸報價」。目前在列表中由相同文件讀取中的一段代碼生成重量。

<div class="DetailRow" style="display: %%GLOBAL_HideWeight%%"> 
     <div class="Label">%%LNG_Weight%%:</div> 
     <div class="Value"> 
      <span class="VariationProductWeight"> 
       %%GLOBAL_ProductWeight%% 
      </span> 
     </div> 
    </div> 

看來%% GLOBAL_ProductWeight %%是什麼probides顯示的重量卻寫着「某某LBS」的,因爲它增加了LBS的數字我不知道如何編寫代碼來檢查回報更大或小於150或如何獲得它,然後顯示正確的信息。如果需要任何附加信息來創建代碼,請告訴我,我會提供。

回答

0

您可以使用「替換」js函數從文本中刪除「LBS」字符串。

(function getCorrectTextBasedOnWeight() { 

var weightSpanElements = document.getElementsByClassName('VariationProductWeight'); 

var answerMessageSpan = document.getElementById('answerMessage'); 

for (var i = 0; i < weightSpanElements.length; ++i) { 
    var item = weightSpanElements[i]; 
    var weightValue = item.innerHTML.replace("LBS", ""); 
    if (weightValue <= 150) { 
     answerMessageSpan.innerHTML = "Calculated at checkout"; 
    } else { 
     answerMessageSpan.innerHTML = "Contact us for a shipping quote"; 
    } 

    } 
})(); 

您可以的jsfiddle使用此示例:http://jsfiddle.net/amontellano/YdV4S/

簡單地改變HTML段的跨度內的價值,你會看到answerMessage如何顯示基於權重值正確的文本。

+0

我感謝你的幫助。看來,我無法讓它在應該顯示的頁面上正常工作。我用提供的代碼替換了%% GLOBAL_ShippingPrice %%這一行,但我似乎將條目返回爲沒有格式的文本字符串,或者該點保持空白。我知道我一定在做錯事,但我不知道它是什麼。 – elrad59

+0

嗨。我認爲用提供的代碼替換%% GLOBAL_ShippingPrice %%這一行並不容易。代碼顯示爲一個邏輯樣本來處理你所需要的。如果您不熟悉您的代碼,我會建議您親自向您的應用程序代碼請求其他人的幫助。 –

+0

我想我會這樣做,因爲它是由bigcommerce提供的模板文件,而不是我自己創建的。我知道我可以用標準文本替換%% GLOBAL_ShippinPrice %%以使其顯示在我想要的行上,但是如何讓它執行檢查並提供所需的文本可能比我的能力還要多。感謝您的幫助,我相信這會讓我更加了解我需要的方向。 – elrad59