0

我正在寻找一些 Javascript,它将:

  • 更新所选产品的购物车总数(下拉菜单)和输入的数量

(*安全性将由后端 PHP 处理。我在过去三天里尝试过这个,但显然我的代码太糟糕了,我很惭愧再次在这里重新发布它)


我的想法:
- 创建一个购物车对象 - 创建一个
函数来重新计算发生的任何更改的总数
(我想不出任何其他需要的东西,因为 javascript 只是将它传递给 PHP 脚本以进行检查)

有谁知道一些 javascript 可以完成我寻求的工作?我的想法正确吗?

4

1 回答 1

3

下面是使用显示模块模式构建的示例购物车 javascript 对象。

var shoppingCart = function () {
        var obj = {}, items = [];

        obj.AddItem = function (itemNo, quantity, price) {
            var item = {};
            item.itemNo = itemNo;
            item.quantity = quantity;
            item.price = price;
            items.push(item)
        };

        obj.GetAllItems = function () {
            return items;
        };

        obj.GetItemByNo = function (item) {
            for (var i = 0; i < items.length; i++) {
                if (items[i].itemNo === item)
                    return item[i];
            }
            return null;
        };

        obj.CalculateTotal = function () {
            var total = 0;
            for (var i = 0; i < items.length; i++) {
                total = total + (items[i].quantity * items[i].price);
            }
            return total;
        };

        return obj;
    };
    var cart = new shoppingCart();

使用 AddItem 方法添加项目,包括在 UI 中有用的其他属性。

shoppingcart.AddItem(2,4,2.4);

获取购物车中的商品列表

var items =  shoppingcart.GetAllItems();

计算购物车中商品的总价

var total = shoppingcart.CalculateTotal();

请注意,我已在此处输入此代码,因此可能包含拼写错误,并且我建议在添加商品之前将价格和数量的数据类型验证为数字。

于 2013-03-04T16:14:25.873 回答