如何解决Shopify - 使用 jQuery 修改变体下拉名称
我有一个 Shopify 商店,其中包含我购买的自定义主题。我的许多产品都有多个变体,当我使用选择框选择一个变体时,我只能看到变体的名称(即 20x20cm)。我想在变体名称旁边添加变体的价格(即 20x20 厘米 - 14.99 英镑),但是我在代码中找不到任何允许我这样做的地方。
我认为可以工作的一段代码如下,但修改它没有任何作用-
<div class="variants-wrapper">
<select id="product-select-{{ product.id }}" name="id" class="hide">
{% for variant in product.variants %}
{% if variant.available %}
<option {% if variant == product.selected_or_first_available_variant %} selected="selected" {% endif %} value="{{ variant.id }}">{{ variant.title }} - {{variant.price}}</option>
{% else %}
<option disabled="disabled">{{ variant.title }} - {{'products.product.sold_out' | t }}</option>
{% endif %}
{% endfor %}
</select>
</div>
因此,我发现商店正在运行一个脚本,因此检查了 Chrome 中的元素并查看了事件侦听器,并注意到它正在运行一个名为 bc.script.js 的脚本
脚本部分如下所示:
jQuery(document).on('change','.add-to-cart-sticky .sticky-select',function(){
var optionSelect = $(this).find('option:selected');
var price = optionSelect.data('price');
$('.sticky-price').html('{{"products.product.price" | t }}: <span class="money">'+Shopify.formatMoney(price,'{{shop.money_format}}') + '</span>');
});
jQuery(document).on('change','.add-to-cart-sticky .sticky-select-option',function(){
var selected_val = '';
$('.add-to-cart-sticky .sticky-select-option').each(function(){
selected_val += $(this).val().toLowerCase()+'/';
})
selected_val = selected_val.substring(0,selected_val.length-1);
var optionSelect = $('.sticky-select option[data-check="'+selected_val+'"]'),v = optionSelect.val(),add_cart_btn = $('.add-to-cart-sticky .add-to-cart');
if (typeof v == 'undefined') {
add_cart_btn.attr('disabled','disabled');
}
else{
add_cart_btn.removeAttr('disabled');
optionSelect.prop('selected',true);
}
var price = optionSelect.data('price');
if (price)
$('.sticky-price').html('{{"products.product.price" | t }}: <span class="money">'+Shopify.formatMoney(price,'{{shop.money_format}}') + '</span>');
else
$('.sticky-price').html('<b>{{ "products.product.sold_out"| t}}</b>');
});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。