根据产品价格显示报价

Show offer depending on product price

我目前正在寻找一些有吸引力的方式来吸引客户的观点,并且我偶然发现了为每个产品详细说明的信息 "depending on its price"。

本主题主要针对 Business Catalyst,但 javascript 方面的一些专家可能会有所帮助。

目标是在 小型产品布局liquid 或一些灵活的 Javascript =26=] 并计算产品价格(如果高于或等于 30)并显示此产品免费送货

我目前正在使用 jquery 但不工作不知道为什么!?

$('.price').each(function(){
    if(parseInt($(this).val()) > 30) {
   $('#get-free').show();
}
});

<div class="small-product round-corner">
 <div class="im-on-sale-{tag_onsale}">SALE</div>
 <div class="photo">{tag_smallimage}</div>
 <div class="title lato">{tag_name}</div>
<div class="price lato"><!--Price: -->{tag_saleprice}</div>
 <div class="retail-price">{tag_retailprice}</div> 
 <div class="instock">{tag_instock} IN STOCK</div>
<div id="get-free" style="display: none;">FREE SHIPPING FOR THIS PRODUCT</div>
<!--<div class="add-to-cart-small">{tag_addtocart,<img src="/images/ui-pieces/add-to-cart-small.png" width="25" height="25" />}</div>-->
<div class="lato rating-stars"><span class="smallString" style="display: none;">{tag_itemurl_nolink}</span></div>
 <div class="favorite loggedin lato"> {tag_addtofavorites,<div class="grey-link"><img src="/images/ui-pieces/favourites-icon.png" width="15" height="15">  ADD TO FAVORITES</div>, <div class="grey-link"><img src="/images/ui-pieces/close-bt.png" width="15" height="15"> REMOVE FAVORITE}</div>
</div>

非常感谢您的帮助。

谢谢

您应该尝试使用 .text() (http://api.jquery.com/text/) or .html() instead of val(). val() is used mainly for form input fields (http://api.jquery.com/val/)

对 div 等 non-input 元素使用 text() 而不是 val()。此外,您应该在使用 parseInt 时使用 isNaN 测试 NaN,尽管在这种情况下,如果价格字段为空,则不会出现预期的效果(显示免费定价)。

if(!isNaN(parseInt($(this).text())) && parseInt($(this).text()) > 30)

这是一个Fiddle Demo

感谢 Vitorino 的一段代码,我能够得出一个明确的观点,但它没有正确获取字符串的真正原因是 {[ 生成的“£”符号=18=]} 通过使用我之前使用的 .replace(/[^0-9.]/g, ""); ,我能够将值清除签“£”,有需要的请戳下方二维码:

$('.price').each(function() {
var price = $(this).text().replace(/[^0-9\.]/g, "");
   if (parseInt(price) >= 30) {
    $(this).siblings('.get-free').show();
  }
});

Demo