如果大于运输重量检查

时间:2014-01-08 18:51:30

标签: javascript if-statement return-value

我正试图通过大型商务开展新网站,并发现他们没有货运的任何东西。我知道足以识别我的问题以及需要在模板文件中更改的代码,但不能创建代码来执行我想要的操作。目前在结账时计算运费并显示“结账时计算”显示运费的代码块

    <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 %%是显示重量的内容,但它显示“xyz LBS”,因为它将LBS添加到数字中我不知道如何编写代码来检查返回值是大于还是小于150或如何让它然后显示正确的消息。如果需要任何其他信息来创建代码来执行此操作,请通知我,我将提供。

1 个答案:

答案 0 :(得分: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如何根据权重值显示正确的文本。