JavaScript-商品结算(全选操作,反选操作)

复选框如果要选中,设置checked=true,取消设置checked=false

全选:通过name属性得到上面所有的复选框对象,遍历集合,将每一个元素的checked设置为true。

反选:原来选中的设置false,原来没选的设置为true。

 

  1. 页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h3>商品价格列表</h3>
    <input type="checkbox" name="item" value="300" /> 运动鞋<br />
    <input type="checkbox" name="item" value="200" /> 板鞋<br />
    <input type="checkbox" name="item" value="3000" /> 笔记本电脑<br />
    <input type="checkbox" name="item" value="400" /> 手表<br />
    <input type="checkbox" name="item" value="150" /> 厨具<br />
    <hr/>
    <input type="checkbox" id="all"  onclick="selectAll()" />全选/全不选 &nbsp;
    <input type="button" id="reverse" onclick="reverseSelect()" value=" 反 选 "/>&nbsp;
    <input type="button" value=" 结 账 " onclick="total()" />&nbsp;<span id="result"></span>
</body>
</html>

JavaScript代码:


    <script>
        /*点击全选和全不选的按钮 其他的复选框 应该跟全选框一致*/
        function selectAll(){
            //点击全选的状态.
            //1.获得全选和全不选的状态值 通过checked属性  checked="checked" ==>>html语法
            var allCkb = document.getElementById("all");
            //checked属性是boolean类型 ==>> javascript语法
            //alert(allCkb.checked);

            //2.获得其他复选框
            var otherCkb = document.getElementsByName("item");
            for(var i = 0 ; i<otherCkb.length ; i++){
                //全选框的状态赋值给每一个复选框
                otherCkb[i].checked = allCkb.checked;
            }
        }
        //点击事件
        function reverseSelect(){
            //获得其他复选框即可
            var otherCkb = document.getElementsByName("item");
            //遍历
            for(var i = 0 ; i<otherCkb.length ; i++){
                otherCkb[i].checked = !otherCkb[i].checked;
            }
        }
        //点击结账
        function total(){
            //1.获得所有复选框
            var otherCkb = document.getElementsByName("item");

            var totalPrice  = 0 ;
            //2.循环判断哪些被选中
            for(var i=0;i<otherCkb.length ; i++){
                if(otherCkb[i].checked ==true){
                    //3.选中的价格相加
                    totalPrice+= parseInt( otherCkb[i].value );
                }
            }
            alert(totalPrice);
        }
    </script>

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值