我有一个小脚本,如果添加或减去产品,应该更新我页面上的购物车数量。当我添加购物车项目并且数量字段已更改但是如果我刷新页面时,这似乎不起作用:
(function($){
jQuery(".hikashop_cart_module input.hikashop_product_quantity_field").change(function(){
var sum = 0;
$(".hikashop_cart_module input.hikashop_product_quantity_field").each(function(){
sum += +$(this).val();
}).change();
$("#total").text(sum);
});
})(jQuery);
答案 0 :(得分:1)
您的代码中存在一些错误。与此相比:
(function($){
// if you load your elements dynamically you need to use delegated events
$(document).on('change', '.hikashop_cart_module input.hikashop_product_quantity_field', function(){
var sum = 0;
$(this).each(function(){
sum += +$(this).val();
});
$("#total").text(sum);
});
})(jQuery);
答案 1 :(得分:0)
你在选择器中犯了一个错误。你应该用这个:
(function($){
jQuery(".hikashop_cart_module.input.hikashop_product_quantity_field").change(function(){
var sum = 0;
$(".hikashop_cart_module.input.hikashop_product_quantity_field").each(function(){
sum += +$(this).val();
})
$("#total").text(sum);
});
})(jQuery);
each
事件处理程序后面的.change()
循环也存在问题。它正在创造一个触发事件的无限循环。我已经制作了fiddle,因此您可以看到正在运行的版本!