css

    *{font-style: normal}
.gw{margin: 8px;}
.gw::after{display: block;clear: both;content: '';margin: 10px;}
.gw_num{border: 1px solid #dbdbdb;width: 110px;line-height: 26px;overflow: hidden;float: left;}
.gw_num em{display: block;height: 26px;width: 26px;float: left;color: #7A7979;border-right: 1px solid #dbdbdb;text-align: center;cursor: pointer;font-style: normal}
.gw_num .num{display: block;float: left;text-align: center;width: 52px;font-style: normal;font-size: 14px;line-height: 24px;border: 0;}
.gw_num em.add{float: right;border-right: 0;border-left: 1px solid #dbdbdb;}
p{margin: 4px;padding: 0}
.choose,.qx{float: left;width: 20px;height: 20px;border: 1px solid #ccc; border-radius: 100%;margin-right: 10px;}
.choose-on, .qx-on{background: url(./on.png) no-repeat center center;background-size: 100%;}
    <div class="zong">
<div class="gw">
<div class="choose"></div>
<div class="gw_num">
<em class="jian">-</em>
<input type="text" value="0" class="num"/>
<em class="add">+</em>
</div>
<p>单价<i>20</i>元 总金额:¥<span>0</span></p>
<div class="del">删除</div>
</div>
<div class="gw">
<div class="choose"></div>
<div class="gw_num">
<em class="jian">-</em>
<input type="text" value="0" class="num"/>
<em class="add">+</em>
</div>
<p>单价<i>40</i>元 总金额:¥<span>0</span></p>
<div class="del">删除</div>
</div>
<div class="gw">
<div class="choose"></div>
<div class="gw_num">
<em class="jian">-</em>
<input type="text" value="0" class="num"/>
<em class="add">+</em>
</div>
<p>单价<i>40</i>元 总金额:¥<span>0</span></p>
<div class="del">删除</div>
</div>
<div class="gw">
<div class="choose"></div>
<div class="gw_num">
<em class="jian">-</em>
<input type="text" value="0" class="num"/>
<em class="add">+</em>
</div>
<p>单价<i>40</i>元 总金额:¥<span>0</span></p>
<div class="del">删除</div>
</div>
<div>
<div class="qx"></div>
<span>全选</span><span class="gs"></span>
<p class="a">金额总计:<span>0</span></p>
</div>
</div>

js

    $(function(){
$('.add').click(function(){
var n = $(this).prev().val()
var num = parseInt(n) + 1;
if(n == 5){num = 5} //设置最大数量 5
$(this).prev().val(num);
var money = $(this).parents('.gw').find('i').text()
var sum = money * num
var p = $(this).parents('.gw').find('span').text(sum)
// console.log(p) // var Sum = $(this).parents('.zong').find('.a > span').text(sum)
// console.log(Sum)
jiesuan()
})
$('.jian').click(function(){
var n = $(this).next().val();
var num = parseInt(n) - 1;
if(n == 0){num = 0} //设置最小数量 0
console.log(num)
$(this).next().val(num);
var money = $(this).parents('.gw').find('i').text()
var sum = money * num
var p = $(this).parents('.gw').find('span').text(sum)
jiesuan()
})
//选中
$('.choose').click(function(){
$(this).toggleClass('choose-on')
// console.log('aa')
jiesuan()
xz()
qx()
})
//全选
$('.qx').click(function(){
$(this).toggleClass('qx-on')
if($(this).is('.qx-on')){
$('.choose').addClass('choose-on')
}else{
$('.choose').removeClass('choose-on')
}
jiesuan()
qx()
}) //删除
$('.del').click(function(){
if(confirm('确定删除商品')){
$(this).parents('.gw').remove()
}
jiesuan()
qx()
// console.log(a) })
}) function jiesuan(){
var num = 0;
// alert('aa')
$('.gw').each(function(){
if($(this).find('.choose').is('.choose-on')){
//获取物品单价
var dj = $(this).find('i').text()
//获取物品数量
var sl = $(this).find('.num').val()
//合计
var hj = dj * sl
num += hj;
} })
$('.a>span').text(num)
} //单选--全选中
function xz(){
var choose = $('.choose')
var choose_on = $('.choose-on')
if(choose.length == choose_on.length){
$('.qx').addClass('qx-on')
}else{
$('.qx').removeClass('qx-on')
}
} //全选
function qx(){
$('.gs').text(' ')
var a = $('.choose-on').length;
$('.gs').text(a)
if(a > 0){
$('.gs').prev().text('已选')
}else{
$('.gs').prev().text('全选')
}
}

jq购物车结算功能的更多相关文章

  1. 原生JS实现购物车结算功能代码+zepto版

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

  2. 微信小程序——购物车结算

    项目需要做个购物车结算功能,先分析需求: 1.全选,反选的功能.当选中的个数 = 购物车的数量时,勾选全选按钮,反之则取消选中全选按钮: 2.改变选中状态时,计算总价和总数量: 3.单个产品的数量加减 ...

  3. 使用jQuery制作一个简易的购物车结算流程

    因为今天下午时候在网上买了东西,在结算界面的时候突发奇想的也想自己动手做一个结算界面,当然了,只是一个最简易的结算界面,有商品数量的加减,有单价和小计,单个多个删除,全选和区县全选等等一些小功能,我在 ...

  4. python3 练习题(用函数完成登录注册以及购物车的功能)

    ''' 用函数完成登录注册以及购物车的功能 作业需求: 1,启动程序,用户可选择四个选项:登录,注册,购物,退出. 2,用户注册,用户名不能重复,注册成功之后,用户名密码记录到文件中. 3,用户登录, ...

  5. JS实现购物车动态功能

    整理了一下当时学js写的一些案例,觉得购物车功能在一般网站比较常见且基础,现在把它整理出来,需要的小伙伴可以参考一下. 该案例购物车主要功能如下: 1. 商品单选.全选.反选功能 2. 商品添加.删除 ...

  6. python实现简单的循环购物车小功能

    python实现简单的循环购物车小功能 # -*- coding: utf-8 -*- __author__ = 'hujianli' shopping = [ ("iphone6s&quo ...

  7. jquery-防多店铺购物车结算全选,单选,及删除,价格计算

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. 微信小程序 - 实现购物车结算

    示例源码下载:小程序-实现购物车结算

  9. spring boot:用rocketmq消息订阅实现删除购物车商品功能(spring boot 2.3.3)

    一,为什么要使用消息队列实现删除购物车商品功能? 消息队列主要用来处理不需要立刻返回结果的业务, 常见的例子: 用户在下单后,要清除原购物车中的商品, 这个处理过程不需要马上实现也不需要返回结果给用户 ...

随机推荐

  1. BAT 前端开发面经 —— 吐血总结 前端相关片段整理——持续更新 前端基础精简总结 Web Storage You don't know js

    BAT 前端开发面经 —— 吐血总结   目录 1. Tencent 2. 阿里 3. 百度 更好阅读,请移步这里 聊之前 最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘, ...

  2. 【Unity 3D】学习笔记三十六:物理引擎——刚体

    物理引擎就是游戏中模拟真是的物理效果.如两个物体发生碰撞,物体自由落体等.在unity中使用的是NVIDIA的physX,它渲染的游戏画面很逼真. 刚体 刚体是一个很很中要的组件. 默认情况下,新创的 ...

  3. HDFS01

    ==============NameNode============== 管理文件系统的命名空间 记录每个文件数据在各个DataNode上的位置和副本信息 协调客户端对文件的访问 NameNode文件 ...

  4. go语言笔记——go环境变量goroot是安装了路径和gopath是三方包路径

    Go 环境变量 Go 开发环境依赖于一些操作系统环境变量,你最好在安装 Go 之间就已经设置好他们.如果你使用的是 Windows 的话,你完全不用进行手动设置,Go 将被默认安装在目录 c:/go  ...

  5. 开发PL/SQL子程序和包及使用PL/SQL编写触发器、在JDBC中应用Oracle

    1.  子程序的各个部分: 声明部分.可执行部分.异常处理部分(可选) 2.子程序的分类: A.  过程 - 执行某些操作 a.  创建过程的语法: CREATE [OR REPLACE]  PROC ...

  6. 自动生成Makefile的全过程详解

    一.简介 Linux下的程序开发人员,一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的 ...

  7. 40. combo的displayField和valueField属性

    转自:https://xsl2007.iteye.com/blog/773464 下拉框combo可以设置displayField和valueField属性,这两个值值相当于Java中的map,一个键 ...

  8. J20170618-hm

    番兵(ばんぺい) 哨兵 後始末 善后  

  9. sql简单学习---备忘

    2:Hibernate public boolean deleteFlowerById(int id) { Session session = sessionFactory.openSession() ...

  10. [App Store Connect帮助]三、管理 App 和版本(2.2)输入 App 信息:设置 App 分级

    您必须设置 App 分级,这是一项平台版本信息属性,用于在 App Store 上实施家长控制.App Store Connect 提供了一份内容描述列表,通过该列表,您可以确定相应内容在您 App ...