26-Beego优选全选反选

上一篇文章主要完成了数量的改变,这一篇文章将完成全选.反选.单选/以及总价的计算,可以看出这两篇文章都是利用jQuery操作DOM元素,所以我们改变只是提要,为交化逻辑/选择DOM/监听DOM/修改DOM,好了,现在就让哦我们在新的文章框架下,开始探索前端动态交互吧

效果图.gif

0.交互逻辑

1.全选
通过判断全选选择框的状态来操纵商品选择框的选中状态
2.单选
通过判断单个选择框的状态确定当前商品的选中状态
通过获取购物车总数和选中商品数量确定是否全选,确定全选框的状态
3.计算总价
通过累加各个选中条目商品价格的数值,确定商品总价,由于商品总价与全选/单选/操纵数目+/-都相关,所以单独封装为一个方法,在以上四个方法中调用

2.注意点

1.与Reids数据库进行交互,要确定Redis应用程序是启动的,具体方法为启动任务管理器右键开启对应的Redis6379
2.修改总价要在其它方法的末端执行,不能在刚进入其它方法就执行
3.对于checkbox选择框,自动会随UI界面用户的选择改变checked属性
4.这种交互逻辑非常慢,以后会改进

3.选择DOM

$("元素")
1.#Id
2..ClassName

3.:属性值
4.$("父元素").find("子孙元素")
5.$("子元素").parents("祖先元素"),如果是parent就是父元素
6.$("选中元素").each(function(index,value){$(value)}):对选中的多个元素执行回调函数中的方法
7.选中元素.length:得到选中元素个数

4.监听DOM

1.选择元素.click(function(){}):监听该元素点击事件
2.选择元素.change(function(){}):监听当前元素的变化

5.修改DOM

1.修改输入框
选择输入框.val()
选择输入框.val(变量)
2.修改普通元素
普通元素.text()
普通元素.text(字符串)
3.修改选择框
选择框.prop("checked"):返回true/false
选择框.prop("checked",ischecked(保存从前端获取的状态))

一.全选

1.获取当前选择状态
2.找到其它所有复选框


image.png

二.单选

1.获取当前选择状态
2.获取所有复选框个数
3.获取所有选中复选框个数
4.比较是否全部选中修改全选状态


image.png

三.计算总价方法

1.利用回调函数遍历条目复选框
2.得到每一个复选框对应条目的商品价格
3.累加得到总价
4.在需要的监听变动后,调用此方法


image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这个序可能会有些长 先作个自我介绍,我是一名交互设计师,90后。我并不怎么喜欢编辑文章或写点什么,就是因为懒,所以...
    IxDKN阅读 11,133评论 16 160
  • jQuery jQuery是JavaScript世界中使用最广泛的一个库。 jQuery这么流行,肯定是因为它解决...
    星腾_范特西阅读 2,114评论 0 27
  • 这也是一个练习,就是一般电商购物车的全选,另外加了个反选(貌似有反选功能的购物车不多,倒是windows资源管理器...
    剑老湿阅读 4,135评论 2 8
  • 你曾说 希望我天天开心 你曾说 我快乐你就幸福 你曾说 会用行动来证明你对我的爱 可是 你离开了 悄悄地 把我的...
    古安宁阅读 257评论 0 0
  • 本文参加‘青春’大赛,本人保证本文为本人原创,如有问题则与主办方无关,自愿放弃评优评奖资格。 平顶山学院 ...
    芽二阅读 714评论 6 42