选中复选框添加到购物车

时间:2014-08-12 18:28:35

标签: javascript php jquery html

所以我的购物车有些问题。一些jQuery问题,我想知道是否有人可以指出我正确的方向。

事实是,我试图让购物车更具动感,如果您勾选一个复选框,该商品会被添加到购物车中,并显示该商品的总价格和折扣。

只是遇到了复选框部分的问题。

$(document).ready(function($){
    $('#cart_listing .quantity').change(function (event) {
        $quan = $(this);
        console.log($quan.parent().next()[0]);
        $quan.parent().next().find('.price').text(function () {
            return $quan.val() * parseInt($(this).attr('data-val'), 10) + ' €';
        });
            var total = 0;
            $('#cart_listing .price').each(function(k, v){
                total += parseFloat($(v).text(), 10); 
            });

            $('#cart_listing .faster').text(function () {
                faster = parseInt($(this).attr('data-val'), 10);
                return $(this).attr('data-val' + ' €');
            });

            var discount_pct = parseInt($("#cart_listing .discount").data("val"), 10);
            var discount = -(total * discount_pct/100);

            $('#cart_listing .discounted').text('-' + -discount + ' €');
            $('#cart_listing #total').text(total + discount + faster + ' €')
    });
});

jsFiddle:http://jsfiddle.net/ooh43u6t/

1 个答案:

答案 0 :(得分:1)

我无法正确理解您的问题,但我认为您希望在使用jQuery检查时为复选框添加值。

$('input[type=checkbox]').click(function(){
     if($(this).is(':checked')){ //use this to see if the checkbox is checked or not
         //do something...
     }
});

我不知道你是否想要这样的东西。如果没有,你能澄清更多吗?谢谢!

编辑:

所以,你基本上使用同样的东西,或许是这样的,

if($(this).is(':checked')){
    console.log($(this).parent('td').siblings('td').html()); // check this, you'll have the item name. (the first td)
    console.log($(this).attr('data-val')); // this will have the value on the "data-val" attribute on your checkbox
}

所以,现在你有了产品的名称(第1个日志)和价格(第2个日志)。 现在请记住,这只有在格式保持一致时才有效,而且不是做一般的input[type=checkbox],你可能想要给所有产品复选框一个唯一的类,所以它不会。 t会干扰您可能拥有的其他复选框。希望这可以帮助。如果没有,我很乐意回答更多。谢谢!