simpleCart.js - 使用beforeAdd()调用购物车中单个商品的数量;

时间:2014-11-25 07:14:02

标签: javascript simplecart

我搜索了simpleCart文档,找到了here,github页面,在这里广泛地找到了一个应该解决的简单问题的答案:

我需要获取购物车中单个商品的数量,因此我可以根据包含最大数量的自定义属性以及添加商品时发送到购物车的数量进行检查。

simpleCart.quantity();给出了购物车中所有商品的总数,与simpleCart.item.quantity();相同。同时,item.get('数量')给了我发送到购物车的金额,这是我需要的,但不是我想要的价值。

以下是上下文的相关代码

if (simpleCart.has(item)) {
    var mA = item.get( 'maxamount' );

    var linkQty = item.get('quantity');
    totalquant = (item.quantity() + linkQty);

    alert('Max amount: '+mA+'\nQty sent to cart: '+linkQty+'\nQty in cart plus qty sent to cart: '+totalquant);
    if(totalquant > mA){
       alert("You can not select more than "+mA+" items of this size!");
       return false;
    }
}

我知道这个网站上存在这个确切的问题,但收到的没有回应。请有人帮帮我吗?

1 个答案:

答案 0 :(得分:1)

我觉得你真的很亲密。我用过SimpleCart v3

simpleCart.bind('beforeAdd', function (item) {
var requestedQuantity = item.get('quantity');
var existingItem = simpleCart.has(item);
if (existingItem) {
    requestedQuantity += existingItem.get('quantity');
}
if (requestedQuantity > item.get( 'maxamount' )) {
    alert("You have reached the maximum quantity of this size.");
    return false;
}
});