//需求,勾选选项时,总价格要跟着变,点击添加数量,总价格也要跟着变,全部要动态变化


//代码如下

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

.jisuan{

display: inline-block;

}

.num{

display: inline-block;

width: 50px;

text-align: center;

}

</style>

</head>

<body>

<ul id="list">

<li>

<input type="checkbox" name="" class="ch" checked="checked">

<span>第一件</span>

<span class="price">199.00</span>

<div class="jisuan"><button class="mul">-</button><span class="num">1</span><button class="plus">+</button></div>

<span class="pertotle">199.00</span>

<button class="del">删除</button>

</li>

<li>

<input type="checkbox" name="" class="ch" >

<span>第二件</span>

<span class="price">299.00</span>

<div class="jisuan"><button class="mul">-</button><span class="num">1</span><button class="plus">+</button></div>

<span class="pertotle">299.00</span>

<button class="del">删除</button>

</li>

<li>

<input type="checkbox" name="" class="ch" >

<span>第三件</span>

<span class="price">99.00</span>

<div class="jisuan"><button class="mul">-</button><span class="num">1</span><button class="plus">+</button></div>

<span class="pertotle">99.00</span>

<button class="del">删除</button>

</li>

</ul>

<div class="box">

全选<input type="checkbox" class="checkAll">

<span class="delCheck">删除</span>

件数<span class="totleNum">0</span>

总价格<span class="totlePrice">0</span>

</div>

<script type="text/javascript" src="jquery.1.11.1.min.js"></script>

<script type="text/javascript">

function totle(){

// 总计数

var t1 = 0;

// 总价格

var t2 =0;

console.log(t2);

$("#list li").each(function(){

console.log(this);

if ($(this).find(".ch").prop("checked")==true) {

t1+=parseFloat($(this).find(".num").text());

t2+=parseFloat($(this).find(".pertotle").text());

}

})

$(".totleNum").text(t1);

$(".totlePrice").text(t2);

}

totle();

// 所有加号  减号  数量按钮

$("#list li .ch").click(function(){

var flag = true;

$("#list li .ch").each(function(){      //遍历每一个单选框

if($(this).prop("checked")==false){     //prop();给表单元素设置和获取属性

flag= false;

}

});

if (flag) {

$(".checkAll").prop("checked",true);

}else{

$(".checkAll").prop("checked",false);

}

totle();

});

$(".mul").click(function(){                       //减号按钮被点击时,接下来要 干嘛

if ($(this).next().text()==="0") {

return;

};

var n = $(this).next().text();                    //获得加好前一个文本内容,就是件数

$(this).next().text(--n);

var p = $(this).next().text()*$(this).parent().prev().text(); //p为记录每件的总价

$(this).parent().next().text(p);                        //每件总价的文本内容用p来填充

totle();

});

$(".plus").click(function(){                      //加好按钮被点击时,接下来要 干嘛

var n = $(this).prev().text();                 //获得加好前一个文本内容,就是件数

//console.log(n);

$(this).prev().text(++n);

var p = $(this).prev().text()*$(this).parent().prev().text();    //件数*单价=总价

$(this).parent().next().text(p);

totle();

});

$(".del").click(function(){                    //删除按钮被点击时,接下来要干嘛

var res = confirm("del?");

if (res) {

$(this).parent().remove();

totle();

}

});

$(".checkAll").click(function(){

var $that = $(this);                    //$(this)指.checkAll,谁调用谁

$(".ch").each(function(){

$(this).prop("checked",$that.prop("checked"));  //this指每一个单选框

});

totle();

});

$(".delCheck").click(function(){

$("li").each(function(){

if ($(this).find(".ch").prop("checked")) {        //this指每一个li

$(this).remove();                       //如果是出于勾选状态就要内移除

}

});

totle();

});

</script>

</body>

</html>

最新文章

  1. angular2系列教程(五)Structural directives、再谈组件生命周期
  2. mallo函数
  3. MVC之校验
  4. Linux Shell编程三
  5. 和菜鸟一起学linux总线驱动之初识spi驱动数据传输流程【转】
  6. websocket nodejs实例
  7. NIO与普通IO文件读写性能对比
  8. Android Wear开发 - 数据通讯 - 第一节 : 连接数据层
  9. cf509B Painting Pebbles
  10. linux权限及ntfs文件系统权限的知识
  11. SoftLayer&#174;凭借Flex Images™消融物理与虚拟服务器之间的界线
  12. 深入理解JAVA的多态性[转]
  13. python标准库]Hashlib
  14. fine-tuning 两阶段模型
  15. Linux coredump解决流程
  16. openwrt package 依赖关系
  17. 不看好运维竖井产品模式,优云打造融合化运维PaaS平台
  18. 高性能 js -- 无阻塞加载脚本
  19. web基础----&gt;java邮件的发送
  20. 3、数据类型一:strings

热门文章

  1. 【原】Mysql最大连接数
  2. 利用 Jenkins 持续集成 iOS 项目,搭建自动化打包环境
  3. [运维] 如何访问虚拟机上的 Tomcat ?
  4. 20199317 myod实验
  5. 001. 使用IDEA新建一个JAVA最简单的Spring MVC JAVAWEB程序
  6. UICollectionView特殊布局
  7. urllib 库的代替品 requests 的用法
  8. Struts笔记二:栈值的内存区域及标签和拦截器
  9. 吴裕雄--天生自然ORACLE数据库学习笔记:管理表空间和数据文件
  10. Linux命令:vmstat命令