美文网首页go语言
26-Beego优选全选反选

26-Beego优选全选反选

作者: 梦想成为小仙女 | 来源:发表于2019-02-14 14:41 被阅读33次

    上一篇文章主要完成了数量的改变,这一篇文章将完成全选.反选.单选/以及总价的计算,可以看出这两篇文章都是利用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

    相关文章

      网友评论

        本文标题:26-Beego优选全选反选

        本文链接:https://www.haomeiwen.com/subject/uxheeqtx.html