使用jQuery实现简单的购物车功能

<!DOCTYPE html>
<html><head><title>购物车</title><meta charset="utf-8" /><!-- 引入jquery文件 --><script src="js/jquery.min.js"></script><style type="text/css">h1 {text-align:center;}table {margin:0 auto;width:60%;border:2px solid #aaa;border-collapse:collapse;}table th, table td {border:2px solid #aaa;padding:5px;}</style><script type="text/javascript">//页面加载后执行$(function(){//为添加购物车按钮注册点击事件$("input[type='button'][value='加入购物车']").click(function(){var productName = $(this).parent().siblings("td:first").text();var price = $(this).parent().siblings("td:eq(1)").text();//判断库存var stockTd = $(this).parent().siblings("td:eq(3)");var stock = stockTd.text();if (stock == 0) {alert("已售完..")return;} else {stockTd.text(parseInt(stock)-1);}//判断是否重复添加var flag = false; // 不重复$(".productName").each(function(){var name = $(this).text();if (name == productName) { //重复了//修改数量var input = $(this).siblings("td:eq(1)").find("input:eq(1)");var oldNum = input.val();var newNum = parseInt(oldNum)+1;input.val(newNum);//修改金额$(this).siblings("td:eq(2)").text(parseFloat(price)*newNum);//计算总金额totalMoney();flag = true;  //重复了  }});if(flag) {return;}//组装一条数据var html =     '<tr>'+'<td class="productName">'+productName+'</td>'+'<td>'+price+'</td>'+'<td align="center">'+'<input type="button" value="-" οnclick="changeNum(-1, this)"/>'+'<input type="text" size="3" readonly value="1"/>'+'<input type="button" value="+" οnclick="changeNum(1, this)"/>'+'</td>'+'<td class="moneyTd">'+price+'</td>'+'<td align="center"><input οnclick="del(this);" type="button" value="x"/></td>'+'</tr>';$("#goods").append(html);    //计算总金额 totalMoney();});    });//计算总金额function  totalMoney() {var money = 0;$(".moneyTd").each(function(){money += parseFloat($(this).text());});$("#total").text(money);    }//修改商品数据及金额function changeNum(num, btn) {//修改库存//获取购物车中的商品名称var productName = $(btn).parent().siblings("td:first").text();//获取购物车中商品数量var input = $(btn).parent().find("input:eq(1)");var oldNum =parseInt( input.val())  ;//标记var flag = true; //是否还有库存$("[name='productName']").each(function(){var pname = $(this).text();//当名称相同时执行操作if (productName == pname) {//获取库存中商品数量var stockTd = $(this).siblings("td:eq(2)");var stock = stockTd.text();//当库存为0时,不能再添加了if (stock == 0 && num ==1) {flag = false; //没有库存} else if(oldNum == 1 && num ==-1){flag = false; //没有库存}else{//改变库存数量stockTd.text(parseInt(stock)-num);}}});if(!flag) {return;}//当购物车中数量为0时,便不在减少if(oldNum == 0&& num ==-1 ){return ;}else{var newNum = parseInt(oldNum)+num;input.val(newNum);}var tr = $(btn).parent().parent();var price = tr.find("td:eq(1)").text();tr.find("td:eq(3)").text(parseFloat(price)*newNum);//计算总金额    totalMoney();}//删除商品function del(btn) {if (confirm("确认删除此商品?")) {$(btn).parent().parent().remove();//获取购物车中的商品名称var productName = $(btn).parent().siblings("td:first").text();//获取购物车中商品数量var input = $(btn).parent().siblings("td:eq(2)").find("input:eq(1)");var Num = parseInt( input.val()) ;$("[name='productName']").each(function(){var pname = $(this).text();//当名称相同时执行操作if (productName == pname) {//获取库存中商品数量var stockTd = $(this).siblings("td:eq(2)");var stock = stockTd.text();//改变库存数量stockTd.text(parseInt(stock)+Num);}});}//计算总金额 totalMoney();}</script></head><body><h1>真划算</h1><table><tr><th>商品</th><th>单价(元)</th><th>颜色</th><th>库存</th><th>好评率</th><th>操作</th></tr>   <tr><td name="productName">罗技M185鼠标</td><td>80</td><td>黑色</td><td>6</td><td>98%</td><td align="center"><input type="button" value="加入购物车"/></td></tr><tr><td name="productName">微软X470键盘</td><td>150</td><td>黑色</td><td>7</td><td>96%</td><td align="center"><input type="button" value="加入购物车"/></td></tr><tr><td name="productName">洛克iphone6手机壳</td><td>60</td><td>透明</td><td>8</td><td>99%</td><td align="center"><input type="button" value="加入购物车"/></td></tr><tr><td name="productName">蓝牙耳机</td><td>100</td><td>蓝色</td><td>10</td><td>95%</td><td align="center"><input type="button" value="加入购物车"/></td></tr><tr><td name="productName">金士顿U盘</td><td>70</td><td>红色</td><td>9</td><td>100%</td><td align="center"><input type="button" value="加入购物车"/></td></tr></table><h1>购物车</h1><table><thead><tr><th>商品</th><th>单价(元)</th><th>数量</th><th>金额(元)</th><th>删除</th></tr></thead><tbody id="goods"></tbody><tfoot><tr><td colspan="3" align="right">总计</td><td id="total">0</td><td></td></tr></tfoot></table>    </body>
</html>

使用jQuery实现简单的购物车功能相关推荐

  1. html+css+jquery实现简单的购物车功能

    HTML网页代码 <!DOCTYPE html> <html lang="en"> <head> </head> <body& ...

  2. vue实现一个简单的购物车功能

    今天做了一个简单的购物车功能,主要用了计算属性,指令等知识点,代码如下: <template> <div><div id="cart" v-cloak ...

  3. jquery实现简单的分页功能

    jquery实现简单的分页功能 本文适合少量数据的使用,如果数据条数过多,不太适合! 页面html代码 <table> <!--展示数据的表格--> </table> ...

  4. 使用JavaScript实现简单的购物车功能

    使用JavaScript完成购物车功能 可以通过加入购物车按钮实现商品的添加,并且数量的加减.购物车中的删除都会进行商品库存的改变 <!DOCTYPE html> <html> ...

  5. jQuery UI 实现 仿购物车功能 简洁的js

    效果图 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

  6. vuex——做简单的购物车功能

    购物车组件 <template><div><h1>vuex-shopCart</h1><div class="shop-listbox& ...

  7. jQuery最简单的留言功能^-^

    先上代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  8. uniapp实现购物车功能

    uniapp实现购物车功能 周六我看见一个有个公司招聘需要试岗3天,并使用uniapp完成购物车,直播间,地图,首页四个功能方能通过,于是乎,我趁手上没事就打算自己写一遍,虽然我的项目没用到,但是多掌 ...

  9. jQuery实现简单购物车功能

    jQuery实现购物车功能有: 主要有添加商品 增加和减少商品数量 点击购物车时  库存也相应的减少 数量的 减少   库存进行增加 根据增加.减少或选择的商品获取金额 实现商品价格的计算 删除    ...

最新文章

  1. js 两行之间的设置间距_敲敲黑板 | 文字间距随意调
  2. Windows上安装HADOOP单机伪分布式集群
  3. 错误:pytube.exceptions.RegexMatchError
  4. Python用selenium获取cookie以后给rqeuests使用。
  5. 如何实现一个HTML5 RPG游戏引擎——第一章,实现地图类
  6. spring mvc @ModelAttribute 基本类型 自定义对象解析流程
  7. 一文读懂层次聚类(Python代码)
  8. 提高数据库处理查询速度
  9. linux下pip安装模块失败,Linux pip包安装错误
  10. caffe图像分类教程_跟我上手深度学习: 五分钟尝试第一个深度学习(Caffe)训练和图像分类(详细图文步骤)...
  11. 基于stm32的智能风扇设计
  12. 【zheng】学习搭建github的高星项目:zheng
  13. vr全景怎么拍摄和制作,3dvr全景制作教程
  14. 干货 | Trip.com Android 11 适配之旅
  15. 【资源】谷歌logo的配色的RGB值
  16. JAVA操作ES中的BoolQueryBuilder 查询方法
  17. uniapp苹果无法上架_uni-app 打包ios上架app store流程
  18. 计算机网络技术期末论文,计算机网络技术专业论文题目 计算机网络技术论文题目怎么定...
  19. python流星雨代码_js代码实现流星雨
  20. IPTV系统解决方案之酒店行业

热门文章

  1. 喜欢玩手游的小姐姐注意了!高颜值游戏专属低延迟蓝牙耳机推荐
  2. Can't find X includes 和Can't find X libraries
  3. 双频载波相位测距原理
  4. 中国电子学会2022年12月份青少年软件编程Scratch图形化等级考试试卷四级真题(含答案)
  5. python包 pypinyin 中文转化为拼音
  6. x3250m6服务器光驱怎么找不到,IBM System x3250M2服务器常见问题解答
  7. MixFormer目标跟踪CVPR2022(代码调试)
  8. google vr 入门之制作简易的VR播放器(二),安卓开发基础面试题
  9. 直播预告|腾讯云安全2022年度产品发布会重磅来袭,四大亮点抢先看
  10. 能耗监测系统在淼泉卫生院项目的应用