*解决方案位于底部* 我在这个问题上遇到了一些麻烦。
以下是我所拥有的:
我的产品页面上有自定义加售,我的意思是:
追加销售复选框:
<ul class="upsell" style="margin-left:0px; margin-top:5px;">
<li>
<label>
<img src="https://cdn.shopify.com/s/files/1/0386/0093/t/15/assets/.jpg? 14998" width="40px" height="40px" >
<input type="checkbox" id="chks1"/><span>Product Title <span>$9.99</span> </span></label>
</li>
<li>
<label>
<img src="https://cdn.shopify.com/s/files/1/0386/0093/t/15/assets/.jpg?14998" width="40px" height="40px" >
<input type="checkbox" id="chks1"/><span>Product Title <span>$9.99</span> </span></label>
</li></ul>
和Jquery:
<script>
function triggerChange(){
$('#chks1').trigger("change");
}
$('#chks1').change(function() {
if(this.checked) {
jQuery.post("/cart/add.js", { quantity: 1, id: 262626 });
} else {
jQuery.post('/cart/change.js', { quantity: 0, id: 2626262 });
}
});
</script>
我的问题是它的手动方式......我有很多加价,我实际上必须显示上面几乎50次,包括jquery和一个片段中的复选框。
昨天我试过这个:
<ul class="upsell" style="margin-left:0px; margin-top:5px;">
{% for product in collections.name.products limit:4 %}
<li{% cycle ' style="clear:both;"', '', '', ' class="last"' %}>
<label>
<img src="{{ product.featured_image | product_img_url: 'thumb' }}">
<input type="checkbox" id="chks{{ forloop.index }}"><span>{{ product.title }} < span> {{ product.price | money }} </span></span> </label>
</li>
{% endfor %}
</ul>
</div>
<script>
function triggerChange(){
$('#chks1').trigger("change");
}
$('#chks1').change(function() {
if(this.checked) {
jQuery.post("/cart/add.js", { quantity: 1, id: 262626 });
} else {
jQuery.post('/cart/change.js', { quantity: 0, id: 2626262 });
}
});
</script>
这使得我只需要包含一个,它会根据集合调用自动生成。
我的问题:
我无法在Jquery帖子中动态生成ID:262626
(这是正确的产品添加方式)
我无法弄清楚。
在这种情况下,有没有办法动态调用产品/变体ID?
********* SOLUTION **************** *********
想出来 - 这就是我想出的:
<ul class="upsell" style="margin-left:0px; margin-top:5px;">
{% for product in collections.atc-cart-checkbox.products limit:4 %}
<li{% cycle ' style="clear:both;"', '', '', ' class="last"' %} >
<label>
<img src="{{ product.featured_image | product_img_url: 'thumb' }}">
<input type="checkbox" id="product-{{ product.variants.first.id }}" name="id" value="{{ product.variants.first.id }}" class="product-select-{{ product.id }}"/><span>{{ product.title }} <span class="upsellprice">
{{ product.price | money }}<span class="was_price"> {% if product.price < product.compare_at_price_min %}
{{ product.compare_at_price_min | money }}{% endif %}</span></span></span> </label>
</li>
<script type="text/javascript">
$('#product-{{ product.variants.first.id }}').change(function() {
if(this.checked) {
jQuery.post("/cart/add.js", { quantity: 1, id: {{ product.variants.first.id }} });
}
else {
jQuery.post('/cart/change.js', { quantity: 0, id: {{ product.variants.first.id }} });
}
});
</script>
{% endfor %}
</ul>
完美的工作 - 希望能帮到任何人。
答案 0 :(得分:0)
尝试- 在“产品”页面上有效
$(document).ready(function(){
var idProduct = $('#ProductSelect-product-template').val();
console.log(idVar);
});