实现了:第一件商品的加减
实现了:全选/全不选(使用prop而不是attr)
实现了:删除(遮罩层)

未实现:第二件商品的删除
未实现:小计及应付款额的初始化(写死的)

计算小数乘法时,要先乘100

<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
</head>
<style>
.div1 {
border: 1px solid gainsboro;
width: 950px;
height: 60px;
} .div-checkbox,
.div-goods,
.div-amount,
.div-unit-price,
.div-price,
.div-del {
border: 1px solid;
width: 60px;
height: 20px;
padding: 20px;
float: left;
text-align: center;
} .div-price {
width: 100px;
} .div-goods {
width: 140px;
} .div-amount {
width: 140px;
} .div-unit-price {
width: 50px;
} .div-total-price {
border: 1px solid gainsboro;
width: 950px;
height: 60px;
text-align: right;
} .div-submit {
width: 950px;
text-align: right;
} div#cover {
/*遮罩层*/
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 1000px;
z-index: 100;
display: none;
background-color: grey;
} div#prompt {
/*弹窗*/
border: 2px solid yellow;
display: none;
position: fixed;
top: 100px;
left: 500px;
z-index: 101;
width: 300px;
height: 200px;
}
</style>
<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
<script>
$(function() { //全选
var i = 0;
$(".allPic").click(function() {
i++;
if (i % 2 != 0) {
//此处用attr则只能选中/取消一次
$(".cls-checked").prop("checked", true);
} else {
$(".cls-checked").prop("checked", false);
}
}); //通过name获取某一商品的按钮
$("input[name='btn1']").click(function() {
//数量
var _amount = parseInt($("#id-txt-amount1").val());
if ($(this).val() == "+") {
_amount++;
} else if ($(this).val() == "-") {
if (_amount == 1) {
//必须买!
return;
}
_amount--;
}
$("#id-txt-amount1").attr("value", _amount); // 本商品的总价
var _unitPrice = $("#id-unit-price1").html();
var _thisPrice = parseFloat(_unitPrice * 100 * _amount / 100).toFixed(2);
$("#id-price1").html(_thisPrice); // 总价
var _otherPrice = $("#id-price2").html();
var _totalPrice = parseFloat(_thisPrice + _otherPrice).toFixed(2);
$("#id-total-price").html(_totalPrice);
}); //删除一条
$(".div-del a").click(function() {
showPrompt(this);
});
}); function showPrompt(obj) {
$("#cover").css("display", "block");
// 10毫秒内透明度降为0.5
$("#cover").fadeTo(10, 0.5);
$("#prompt").css("display", "block");
$("#prompt a").click(function() {
$("#cover").css("display", "none");
$("#prompt").css("display", "none");
return;
});
$("#prompt input").click(function() {
$("#cover").css("display", "none");
$("#prompt").css("display", "none");
$(obj).each(function() {
$(obj).parent("div").parent("div").remove();
});
});
}
</script> <body>
<!--遮罩层-->
<div id="cover"></div>
<!--弹窗-->
<div id="prompt">
<div style="width: 100%;height: 20px;text-align: right;background-color: gray;">
<a href="#">关闭</a>
</div>
<div style="text-align: center;background-color: white;width: 300px;height: 180px;line-height: 100px;">
确认删除吗?
<br />
<input type="button" value="确定" />
</div>
</div>
<!--表头------------------------------------------------------->
<div class="div1">
<div class="div-checkbox">
<input type="checkbox" class="allPic"><b>全选</b></input>
</div>
<div class="div-goods"><b>项目</b></div>
<div class="div-amount"><b>数量</b></div>
<div class="div-unit-price"><b>单价</b></div>
<div class="div-price"><b>小计</b></div>
<div class="div-del"></div>
</div>
<!--第一行------------------------------------------------------->
<div class="div1">
<div class="div-checkbox"><input type="checkbox" class="cls-checked" /></div>
<div class="div-goods">
A </div>
<div class="div-amount">
<input type="button" value="-" name="btn1" />
<input type="text" size="2" value="1" id="id-txt-amount1" />
<input type="button" value="+" name="btn1" />
</div>
<div class="div-unit-price">
¥<span id="id-unit-price1">9.90</span>
</div>
<div class="div-price">¥<span id="id-price1">2.00</span></div>
<div class="div-del"><a href="#">删除</a></div>
</div>
<!--第二行(未实现加减)------------------------------------------------------->
<div class="div1">
<div class="div-checkbox"><input type="checkbox" class="cls-checked" /></div>
<div class="div-goods">
B
</div>
<div class="div-amount">
<input type="button" value="-" class="btn2" />
<input type="text" size="2" value="1" id="id-txt-amount2" />
<input type="button" value="+" class="btn2" />
</div>
<div class="div-unit-price">
¥<span id="id-unit-price2">2.00</span>
</div>
<div class="div-price">¥<span id="id-price2">2.00</span></div>
<div class="div-del"><a href="#">删除</a></div>
</div> <div class="div-total-price">应付款额: ¥
<span id="id-total-price">11.90</span>
</div>
<div class="div-submit">
<input type="submit" />
</div>
</body> </html>

JS购物车编辑的更多相关文章

  1. JQuery案例:购物车编辑

    购物车编辑 实现了:商品的加减,总价的变动 实现了:全选/全不选(使用prop而不是attr) 实现了:删除(遮罩层) <html> <head> <meta chars ...

  2. js获取编辑框游标的位置

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

  3. 简单实用angular.js购物车功能

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

  4. Eclipse中jsp、js文件编辑时,卡死现象解决汇总

    使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下: 1.取消验证 windo ...

  5. js购物车计算价格

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

  6. jira7通过全局js给编辑区自定义快捷键【原】

    jira7编辑区自定义快捷键 本文主要描述了jira7如何通过添加全局js引用,给文本编辑区自定义快捷键用以快速填充模板内容. jira 3/4/5可参考官方api https://developer ...

  7. vue.js购物车

    vue.js https://cn.vuejs.org/v2/guide/ 简单购物车 <html> <head> <script src="https://c ...

  8. js 购物车的实现

    购物车原理:创建一个构造函数,把涉及到的项目写成方法,然后把这些方法放到构造函数的原型对象上,通过按钮绑定,调用原型对象上的方法,实现对涉及项目的改变 html代码: <!DOCTYPE htm ...

  9. 三.jquery.datatables.js表格编辑与删除

    1.为了使用如图效果(即将按钮放入行内http://www.datatables.net/examples/ajax/null_data_source.html) 采用了另一个数据格式 2.后台php ...

随机推荐

  1. C# MVC 微信支付教程系列之公众号支付

    微信支付教程系列之公众号支付           今天,我们接着讲微信支付的系列教程,前面,我们讲了这个微信红包和扫码支付.现在,我们讲讲这个公众号支付.公众号支付的应用环境常见的用户通过公众号,然后 ...

  2. java项目改为web项目

     1.进入项目目录,可看到.project文件,打开. 2.找到<natures...</natures代码段. 3.在第2步的代码段中加入如下标签内容并保存: <nature& ...

  3. nopcommerce 4.1 学习2 -插件之挂件

    先了解下nop4.1的一些插件有哪些类型: 1.支付插件   Nop.Plugin.Payments.PayPalStandard  Nop.Plugin.Payments.CheckMoneyOrd ...

  4. js的预解析详解

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. Spring 源码学习(4)—— bean的加载part 1

    前面随笔中,结束了对配置文件的解析工作,以及将配置文件转换成对应的BeanDefinition存储在容器中.接下来就该进行bean的加载了. public Object getBean(String ...

  6. Bitmap RGB24 4字节对齐

    Bitmap RGB24 4字节对齐 本文中说的图片都是无压缩的彩色Bitmap图片. 最近在一个项目中有一个场景是需要将RGB32或RGB24的Bitmap转换成为RGB565的Bitmap,在RG ...

  7. 关于Ble通信库BluetoothKit的使用 以及可能出现的问题分析

    首先,这个库是用于BLE(低功耗蓝牙)通信的,地址:https://github.com/dingjikerbo/BluetoothKit 当然,也可以选择根据andorid提供的底层接口自己完成这部 ...

  8. Curl追踪请求延时问题

    背景原因:测试环境发现一个连接内网访问和外网访问延迟差别很大,内网访问很快.外网访问很慢.于是我们用curl来诊断问题所在的区域! 命令如下: curl -o /dev/null -s -w %{ti ...

  9. C# 日志记录分级功能使用 按照日期,大小,或是单文件存储

    本文将使用一个Nuget的一个组件库来实现一个简单强大的日志记录功能,包采用线程安全实现,所有的记录在后台完成,即使您在前台调用100万次方法,耗时也不过1000ms(具体时间依照电脑性能决定),支持 ...

  10. 印象笔记无法连服务器(internet explore的问题)

    https://www.zhihu.com/question/20214497?sort=created