购物车结算php checkbox,jquery购物车结算功能实现方法

先看看购物车结算效果:

77142e6ddc72e371f17c12f3ebe34caa.png

具体代码:

购物车结算

.shop-total,

.all-total {

height: 50px;

line-height: 50px;

font-weight: bold;

color: #f00;

float: left;

}

.one-shop,

.all-total,

.shop-total {

width: 400px;

}

p {

margin: 0;

}

.goods-check {

width: 25px;

height: 25px;

margin-top: 5px;

}

.goods-msg,

p,

label {

float: left;

}

-

+

商品单价:¥20.00

-

+

商品单价:¥9.90

-

+

商品单价:¥10.00

店铺全选

本店合计:¥0

-

+

商品单价:¥30.00

-

+

商品单价:¥20.00

店铺全选

本店合计:¥0

全选

总价合计:¥0

// 数量减

$(".minus").click(function() {

var t = $(this).parent().find('.am-num-text');

t.val(parseInt(t.val()) - 1);

if (t.val() <= 1) {

t.val(1);

}

TotalPrice();

});

// 数量加

$(".plus").click(function() {

var t = $(this).parent().find('.am-num-text');

t.val(parseInt(t.val()) + 1);

if (t.val() <= 1) {

t.val(1);

}

TotalPrice();

});

// 点击商品按钮

$(".GoodsCheck").click(function() {

var goods = $(this).closest(".one-shop").find(".GoodsCheck"); //获取本店铺的所有商品

var goodsC = $(this).closest(".one-shop").find(".GoodsCheck:checked"); //获取本店铺所有被选中的商品

var Shops = $(this).closest(".one-shop").find(".ShopCheck"); //获取本店铺的全选按钮

if (goods.length == goodsC.length) { //如果选中的商品等于所有商品

Shops.prop('checked', true); //店铺全选按钮被选中

if ($(".ShopCheck").length == $(".ShopCheck:checked").length) { //如果店铺被选中的数量等于所有店铺的数量

$("#AllCheck").prop('checked', true); //全选按钮被选中

TotalPrice();

} else {

$("#AllCheck").prop('checked', false); //else全选按钮不被选中

TotalPrice();

}

} else { //如果选中的商品不等于所有商品

Shops.prop('checked', false); //店铺全选按钮不被选中

$("#AllCheck").prop('checked', false); //全选按钮也不被选中

// 计算

TotalPrice();

// 计算

}

});

// 点击店铺按钮

$(".ShopCheck").change(function() {

if ($(this).prop("checked") == true) { //如果店铺按钮被选中

$(this).parents(".one-shop").find(".goods-check").prop('checked', true); //店铺内的所有商品按钮也被选中

if ($(".ShopCheck").length == $(".ShopCheck:checked").length) { //如果店铺被选中的数量等于所有店铺的数量

$("#AllCheck").prop('checked', true); //全选按钮被选中

TotalPrice();

} else {

$("#AllCheck").prop('checked', false); //else全选按钮不被选中

TotalPrice();

}

} else { //如果店铺按钮不被选中

$(this).parents(".one-shop").find(".goods-check").prop('checked', false); //店铺内的所有商品也不被全选

$("#AllCheck").prop('checked', false); //全选按钮也不被选中

TotalPrice();

}

});

// 点击全选按钮

$("#AllCheck").click(function() {

if ($(this).prop("checked") == true) { //如果全选按钮被选中

$(".goods-check").prop('checked', true); //所有按钮都被选中

TotalPrice();

} else {

$(".goods-check").prop('checked', false); //else所有按钮不全选

TotalPrice();

}

$(".ShopCheck").change(); //执行店铺全选的操作

});

function TotalPrice() {

var allprice = 0; //总价

$(".one-shop").each(function() { //循环每个店铺

var oprice = 0; //店铺总价

$(this).find(".GoodsCheck").each(function() { //循环店铺里面的商品

if ($(this).is(":checked")) { //如果该商品被选中

var num = parseInt($(this).parents(".one-goods").find(".am-num-text").val()); //得到商品的数量

var price = parseFloat($(this).parents(".one-goods").find(".GoodsPrice").text()); //得到商品的单价

var total = price * num; //计算单个商品的总价

oprice += total; //计算该店铺的总价

}

$(this).closest(".one-shop").find(".ShopTotal").text(oprice.toFixed(2)); //显示被选中商品的店铺总价

});

var oneprice = parseFloat($(this).find(".ShopTotal").text()); //得到每个店铺的总价

allprice += oneprice; //计算所有店铺的总价

});

$("#AllTotal").text(allprice.toFixed(2)); //输出全部总价

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值