$(function(){
//1.计算总价和小计
productCount();
//2.实现全选复选框的选中功能
isCheckAll();
//3.设置子复选框是否全部选中
isChildCheckAll();
//4.1 给数量的减号添加点击事件
$(".cart_td_6").find("img[alt=minus]").click(function(){
changeNumber(this,false);
});
//4.2.给数量的加号添加点击事件
$(".cart_td_6").find("img[alt=add]").click(function(){
changeNumber(this,true);
});
//5.删除数据行
deleteData();
});
//5.删除数据行
function deleteData(){
//给"删除" 超链接生成点击事件
$(".cart_td_8").find("a").click(function(){
//获取删除的前一行标题行
$(this).parent().parent().prev().remove();
//删除数据行
$(this).parent().parent().remove();
//1.计算总价和小计
productCount();
});
//给"删除所选"按钮生成点击事件
$("#deleteAll").click(function(){
$("#shopping").find("tr[id]").each(function(i,dom){
//获取子复选框的选中状态
var ischecked=$(dom).children(".cart_td_1").children().is(":checked");
if(ischecked){
//删除前一行标题行
$(dom).prev().remove();
//删除当前数据行
$(dom).remove();
}
});
//1.计算总价和小计
productCount();
});
}
//4.商品数量的增加和减少
function changeNumber(dom,flag){
//获取商品数量
var value=$(dom).parent().find("input").val();
//判断是累加和递减
if(flag){
value++;
}else{
value--;
if(value<=0){
value=1;
alert("宝贝数量必须大于0");
}
}
//重新赋值
$(dom).parent().find("input").val(value);
//商品小计
productCount();
}
//3.设置子复选框是否全部选中
function isChildCheckAll(){
$(".cart_td_1").children().click(function(){
//获取所有子复选框
var checkBoxs=$(".cart_td_1").children();
//获取所有子复选框的数量
var sum=checkBoxs.size();
//定义选中复选框的个数
var k=0;
//循环所有的子复选框,判断是否被选中,并统计选中数量
checkBoxs.each(function(i,dom){
if($(dom).is(":checked")){
k++;
}
});
//如果子复选框选中的个数,等于子复选框总数,则全选复选框被选中,否则全选不被选中
if(k==sum){
$("#allCheckBox").attr("checked",true);
}else{
$("#allCheckBox").attr("checked",false);
}
});
}
//2.实现全选复选框的选中功能
function isCheckAll(){
//给全选复选框添加点击事件
$("#allCheckBox").click(function(){
//三目运算符,:checked如果选中返回true,否则返回false
var isChecked=$(this).is(":checked");
//设置所有子复选框的选中状态和全选同步
$(".cart_td_1").children().attr("checked",isChecked);
});
}
//1.计算总价和小计
function productCount(){
//查找所有的数据行
//var $tr=$("#shopping tr[id]);
var $tr=$("#shopping").find("tr[id]");
//定义总价变量
var summer=0;
//定义总积分变量
var integral=0;
//循环所有的数据行计算价格和积分
$tr.each(function(i,dom){
//获取商品数量
var num=$(dom).children(".cart_td_6").find("input").val();
//商品小计
var price=num*$(dom).children(".cart_td_5").text();
//在第七列小计列显示商品价格
$(dom).children(".cart_td_7").html(price);
//计算总价
summer+=price;
//计算总积分
integral+=$(dom).children(".cart_td_4").text()*num;
});
//显示总价格
$("#total").text(summer);
//显示总积分
$("#integral").text(integral);
}
购物车jquery处理事件
最新推荐文章于 2022-05-04 15:41:54 发布