当我的购物车输入字段更新时,jquery .change()无效

时间:2015-07-10 17:47:40

标签: jquery

我有一个小脚本,如果添加或减去产品,应该更新我页面上的购物车数量。当我添加购物车项目并且数量字段已更改但是如果我刷新页面时,这似乎不起作用:

(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);

2 个答案:

答案 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,因此您可以看到正在运行的版本!