• Goods:购物车模块之全选按钮与条目之复选按钮的click事件


     1 <script type="text/javascript">
     2     /*
     3      计算总计方法
     4      */
     5     $(function() {
     6 
     7         showTotal(); //文档加载完就计算总计
     8 
     9         //给全选添加click事件
    10         $("#selectAll").click(function() {
    11             //获取全选的状态
    12             var bool = $("#selectAll").attr("checked");
    13             //让所有的条目的复选框与全选按钮状态同步
    14             setItemCheckBox(bool);
    15             //让结算按钮与全选的状态同步
    16             setJieSuan(bool);
    17 
    18             //重新计算总计
    19             showTotal();
    20 
    21         });
    22 
    23         //给所有的条目的复选框添加click事件
    24         $(":checkbox(name=checkboxBtn)").click(function() {
    25 
    26             //所有条目的个数拿出来
    27             var all = $(":checkbox[name=checkboxBtn]").length;
    28             //选中的数目拿出来
    29             var select = $(":checkbox[name=checkboxBtn][checked=true]").length
    30 
    31             if (all == select) {
    32                 //勾选全选按钮
    33                 $("#selectAll").attr("checked", true);
    34                 setJieSuan(true);
    35             } else if (select == 0) {
    36                 $("#selectAll").attr("checked", false);
    37                 setJieSuan(false);
    38 
    39             } else {
    40                 $("#selectAll").attr("checked", false);
    41                 setJieSuan(true);
    42             }
    43             showTotal();
    44 
    45         });
    46 
    47     });
    48 
    49     function showTotal() {
    50         var total = 0;
    51         //1获取所有被勾选的复选块
    52         $(":checkbox[name=checkboxBtn][checked=true]").each(function() {
    53             //2获取复选块的值 即cartItemid
    54             var id = $(this).val();
    55             //3再通过cartItemId找到小计 获取内容
    56             var text = $("#" + id + "Subtotal").text();
    57             //4累加操作  字符串累加 会越变越长
    58             total += Number(text);
    59 
    60         });
    61         //5总计显示在总计元素
    62         $("#total").text(total);
    63 
    64     }
    65 
    66     //统一设置所有条目的复选按钮
    67     function setItemCheckBox(bool) {
    68         $(":checkbox[name=checkboxBtn]").attr("checked", bool);
    69 
    70     }
    71 
    72     //设置结算按钮样式
    73     function setJieSuan(bool) {
    74         if (bool) {
    75             $("#jiesuan").removeClass("kill").addClass("jiesuan");
    76             //把之前的事件注销掉
    77             $("#jiesuan").unbind("click"); //撤销当前元素所有的click事件
    78         } else {
    79             //设置样式 在css中有样式
    80             $("#jiesuan").removeClass("jiesuan").addClass("kill");
    81             //设置超链接不可用 click返回false
    82             $("#jiesuan").click(function() {
    83                 return false;
    84             });
    85         }
    86 
    87     }
    88 </script>
  • 相关阅读:
    for循环原来是这样
    C#中属性的作用
    腾讯、百度、阿里、微软面试题精选(不断更新)
    不容易:社会保险法历时3年终获通过 事关亿万百姓利益
    Oracle操作大对象BLOB示例
    Oracle操作大对象CLOB
    设计模式的分类和每种类型的作用
    LinkedList、ArrayList和Vector集合类型的区别和联系?
    hashmap,hashtable,TreeMap, WeakHashMap的区别和联系?
    hdu 2551
  • 原文地址:https://www.cnblogs.com/xiaoying1245970347/p/4785675.html
Copyright © 2020-2023  润新知