<!DOCTYPE html> <html> <HEADER> <meta charset="UTF-8"> <title>Shopping Cart</title> <script type="text/javascript" src="jquery-1.11.min.js"></script> <script type="text/javascript" src="demo.js"></script> <link href="bootstrap.min.css" media="screen" rel="stylesheet" type="text/css" /> </HEADER> <body class="container"> <table id="cartTable" class="cart table table-condensed" > <thead> <tr> <th style="width:60px;"><label><input class="check-all check" type="checkbox" /> 全选</label></th> <th><label>产品型号</label></th> <th style="width:100px;"><label>单价</label></th> <th style="width:120px;"><label>数量</label></th> <th style="width:100px;"><label>小计</label></th> <th style="width:40px;"><label>操作</label></th> </tr> </thead> <tbody> <tr > <td ><input class="check-one check" type="checkbox" /> </td> <td class="goods"> <label>Item 1</label> </td> <td class="number small-bold-red"><span>76.55</span></td> <td class="input-group"> <span class="input-group-addon minus">-</span> <input type="text" class="number form-control input-sm" value="10" /> <span class="input-group-addon plus">+</span> </td> <td class="subtotal number small-bold-red">101</td> <td class="operation"><span class="delete btn btn-xs btn-primary">删除</span></td> </tr> <tr> <td ><input class="check-one check" type="checkbox" /></td> <td class="goods"> <label>Item 2</label> </td> <td class="number small-bold-red"><span>1100</span></td> <td class="input-group"> <span class="input-group-addon minus">-</span> <input type="text" class="number form-control input-sm" value="1" /> <span class="input-group-addon plus">+</span> </td> <td class="subtotal number small-bold-red">352</td> <td class="operation"><span class="delete btn btn-xs btn-primary">删除</span></td> </tr> <tr> <td ><input class="check-one check" type="checkbox" /></td> <td class="goods"> <label>Item 3</label> </td> <td class="number small-bold-red"><span>1200</span></td> <td class="input-group"> <span class="input-group-addon minus">-</span> <input type="text" class="number form-control input-sm" value="1" /> <span class="input-group-addon plus">+</span> </td> <td class="subtotal number small-bold-red">9876.55</td> <td class="operation"><span class="delete btn btn-xs btn-primary">删除</span></td> </tr> <tr> <td ><input class="check-one check" type="checkbox" /></td> <td class="goods"> <label>Item 4</label> </td> <td class="number small-bold-red"><span>1400</span></td> <td class="input-group"> <span class="input-group-addon minus">-</span> <input type="text" class="number form-control input-sm" value="1" /> <span class="input-group-addon plus">+</span> </td> <td class="subtotal number small-bold-red">9876.55</td> <td class="operation"><span class="delete btn btn-xs btn-primary">删除</span></td> </tr> </tbody> </table> <div class="row"> <div class="col-md-12 col-lg-12 col-sm-12"> <div style="border-top:1px solid gray;padding:4px 10px;"> <div style="margin-left:20px;" class="pull-right total"> <label>金额合计:<span class="currency">¥</span><span id="priceTotal" class="large-bold-red">0.00</span></label> </div> <div class="pull-right"> <label>您选择了<span id="itemCount" class="large-bold-red" style="margin:0 4px;"></span>种产品型号,共计<span id="qtyCount" class="large-bold-red" style="margin:0 4px;"></span>件</label> </div> <div class="pull-right selected" id="selected"> <span id="selectedTotal"></span> </div> </div> </div> </div> </body> </html>
$(cartTable).find(":checkbox").click(function() {
//全选框单击
if ($(this).hasClass("check-all")) {
var checked = $(this).prop("checked");
$(cartTable).find(".check-one").prop("checked", checked);
}
//如果手工一个一个的点选了所有勾选框,需要自动将“全选”勾上或是取消
var items = cartTable.find("tr:gt(0)");
$(cartTable).find(".check-all").prop("checked", items.find(":checkbox:checked").length == items.length);
getTotal();
});
/*
* 计算购物车中每一个产品行的金额小计
*
* 参数 row 购物车表格中的行元素tr
*
*/
function getSubTotal(row) {
var price = parseFloat($(row).find("span:first").text()); //获取单价
var qty = parseInt($(row).find(":text").val()); //获取数量
var result = price * qty; //计算金额小计
$(row).find(".subtotal").text(result.toFixed(2)); //将计算好的金额小计写入到“小计”栏位中
};
/*
* 计算购物车中产品的累计金额
*
*
*/
function getTotal() {
var qtyTotal = 0;
var itemCount = 0;
var priceTotal = 0;
$(cartTable).find("tr:gt(0)").each(function() {
if ($(this).find(":checkbox").prop("checked") == true) { //如果选中
itemCount++; //累加产品品种数量
qtyTotal += parseInt($(this).find(":text").val()); //累计产品购买数量
priceTotal += parseFloat($(this).find(".subtotal").text()); //累计产品金额
}
}); $("#itemCount").text(itemCount);
$("#qtyCount").text(qtyTotal);
$("#priceTotal").text(priceTotal.toFixed(2));
};
//为数量调整的+ -号提供单击事件,并重新计算产品小计
/*
* 为购物车中每一行绑定单击事件,以及每行中的输入框绑定键盘事件
* 根据触发事件的元素执行不同动作
* 增加数量
* 减少数量
* 删除产品
*
*/
$(cartTable).find("tr:gt(0)").each(function() {
var input = $(this).find(":text");
//为数量输入框添加事件,计算金额小计,并更新总计
$(input).keyup(function() {
var val = parseInt($(this).val());
if (isNaN(val) || (val < 1)) { $(this).val("1"); }
getSubTotal($(this).parent().parent()); //tr element
getTotal();
});
//为数量调整按钮、删除添加单击事件,计算金额小计,并更新总计
$(this).click(function() {
var val = parseInt($(input).val());
if (isNaN(val) || (val < 1)) { val = 1; }
if ($(window.event.srcElement).hasClass("minus")) {
if (val > 1) val--;
input.val(val);
getSubTotal(this);
}
else if ($(window.event.srcElement).hasClass("plus")) {
if (val < 9999) val++;
input.val(val);
getSubTotal(this);
}
else if ($(window.event.srcElement).hasClass("delete")) {
if (confirm("确定要从购物车中删除此产品?")) {
$(this).remove();
}
}
getTotal();
});
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有