这是用于显示数据的后端编码。
<div class="select clearfix"{% if hide_default_title %} style="display:none"{% endif %}>
<select id="product-select" name="id">
{% for variant in product.variants %}
<option value="{{ variant.id }}">{{ variant.title }} - {{ variant.price | money }}</option>
{% endfor %}
</select>
</div>
{% if settings.display_quantity_dropdown %}
<div class="selector-wrapper">
<label>Quantity</label>
<input id="quantity" type="text" name="quantity" value="1" min="1" class="tc item-quantity" />
</div>
{% endif %}
<div class="purchase-section{% if product.variants.size > 1 %} multiple{% endif %}">
<div class="purchase">
{% unless product.available %}
<p>Sold Out</p>
{% else %}
这个的html结果是
<option value="720021189">Blue / Medium / V-Neck - $ 19.99</option>
<option value="720021193">green / Large / V-Neck - $ 25.00</option>
<option value="720021197">red / XL / V-Neck - $ 25.00</option>
</select>
</div>
所以我的问题是,当我选择产品时,必须给onlink提供选项值,如下所述。但它总是取第一个值720021189.Can是否有人帮助我?
<a href="javascript:void(0)" id="add-to-cart" onclick="fastcart({{product.variants.first.price}},1)"><span></span>Buy it now</a>
结果总是
立即购买
我需要根据选项选择动态更改该值,而不仅仅是固定在相同的值上。任何帮助将不胜感激。
答案 0 :(得分:0)
您可以使用普通的javascript来获取值。
var productSelect = document.getElementById('product-select');
var variantId = productSelect.options[productSelect.selectedIndex].value;
然后将其传递给你的fastcart()函数。
编辑:
如果你想“动态”地将上面的代码包装在一个函数中(例如:getSelectedValue)并在你的select上使用onchange事件。
<select id="product-select" name="id" onchange="getSelectedValue()">
您也可以使用jQuery(可能已在您的主题中加载)并在一行代码中完成所有这些操作。