woocommerce购物车无法正常使用jquery
问题描述:
它是我第一次使用woocommerce,当我添加超过1种产品并增加或减少任何产品时,我在购物车页面上出现了一些问题,它会增加所有数量产品。woocommerce购物车无法正常使用jquery
例如:我已经添加产物带数量2和产品B与量7
如果我增加产品b键8然后产物的量也将增加至8
代码:
<script>
jQuery('.plus').on('click',function(e){
var val = parseInt(jQuery('input[title="Qty"]').val());
jQuery('input[title="Qty"]').val(val+1);
});
jQuery('.minus').on('click',function(e){
var val = parseInt(jQuery('input[title="Qty"]').val());
if(val !== 0){
jQuery('input[title="Qty"]').val(val-1);
} });
</script>
还有一种件事价格保持不变,即使我想补充的产品增加或减少
HTML输出:goo.gl/h3w4IQ
实际购物车页面:goo.gl/9ynStK
请让我知道为什么这个jQuery代码不工作,如何做才能增加/减少价格也按照产品的数量。
答
在你的jQuery代码中,你选择了所有的DOM input
,同时做正负。您实际上需要一个特定的选择器才能更改相邻输入的值。请用你的代码替换这个。我已经测试过它,它工作。
jQuery(document).ready(function($) {
// Attach event on plus
// We delegate the event to document
// So that even if there are 100 of plus buttons
// It would not slow down the page
$(document).on('click', '.plus', function(e) {
// Get the right element
var elem = $(this).prev('.qty'),
// and its value
val = parseInt(elem.val());
// Sanitize the value
if (isNaN(val)) {
val = 0;
}
if (val < 0) {
val = 0;
}
// Now increase it
elem.val(++val).trigger('change');
});
// Similar appraoch for the minus button
$(document).on('click', '.minus', function(e) {
// Get the right element
var elem = $(this).next('.qty'),
val = parseInt(elem.val());
// Sanitize the value
if (isNaN(val)) {
val = 0;
}
// decrease the value
val = val - 1;
// but not a negative
if (val < 0) {
val = 0;
}
// Set it
elem.val(val).trigger('change');
});
});
冷却它的工作原理,但仍然对价格并不增加/本 –
那么这是超出了我可以提供,因为我觉得需要去服务器计算所有的价格下降。也许别人可以帮助你。但根据我的经验,当您在购物车中增加产品数量时,请要求用户更新它,或者通过ajax调用来从服务器更新它。 –
以及它真的很好的帮助,谢谢:) btw你知道如何在用户增加数量时调用ajax来更新购物车吗? –