JS实现购物车全选多选按钮功能

对于JS初学者来说,一个完整的购物车实现还是挺难的,逻辑功能挺多。写出完整功能,能提升不少JS基础,下面实现购物车全选多选按钮功能:

首先HTML及CSS部分:

        <style>
            table {
                border-collapse: collapse;
            }

            td {
                border: 1px solid #000000;
                width: 100px;
                height: 30px;
                text-align: center;
            }
        </style>

    <body>
        <table>
            <tr>
                <td>
                    <label for="allCheck">全选</label><br><input id="allCheck" type="checkbox">
                </td>
            </tr>
            <tr>
                <td>
                    <input id="check0" type="checkbox">
                </td>
            </tr>
            <tr>
                <td>
                    <input id="check1" type="checkbox">
                </td>
            </tr>
            <tr>
                <td>
                    <input id="check2" type="checkbox">
                </td>
            </tr>
            <tr>
                <td>
                    <input id="check3" type="checkbox">
                </td>
            </tr>
            <tr>
                <td>
                    <input id="check4" type="checkbox">
                </td>
            </tr>
        </table>

然后是JS部分:

<script>
            var allcheck = document.getElementById("allCheck")  //获取全选框
            allcheck.addEventListener("click",clickHandler)    //给全选框按钮添加点击属性
            for(var i=0;i<5;i++){
                var check = document.getElementById("check"+i)  //遍历每个多选按钮
                check.addEventListener("click",clickHandler);    //给每个多选框添加点击属性
            }
            function clickHandler(){
                if(allcheck === this){    //进行判断 如果你点击的是全选按钮 那么多选按钮也就全部被选中
                    for(var i=0;i<5;i++){
                        var check = document.getElementById("check"+i);    
                        check.checked = allcheck.checked;
                    }
                    return;   //结束
                }
                for(var j=0;j<5;j++){
                    var checks = document.getElementById("check"+j);
                    if(!checks.checked){    这一部分代码用来多选按钮是否被选中 遍历所有的多选按钮 如果有一个多选按钮没有被选中 那么全选按钮就不会被选中
                        allcheck.checked = false;
                        return;    //结束
                    }
                }
                allcheck.checked = true;    //不好理解 看不懂可以一步一步运行代码
            }
        </script>

全部代码:

<!DOCTYPE html>
<html lang="en">

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            table {
                border-collapse: collapse;
            }

            td {
                border: 1px solid #000000;
                width: 100px;
                height: 30px;
                text-align: center;
            }
        </style>
    </head>
    <body>
        <table>
            <tr>
                <td>
                    <label for="allCheck">全选</label><br><input id="allCheck" type="checkbox">
                </td>
            </tr>
            <tr>
                <td>
                    <input id="check0" type="checkbox">
                </td>
            </tr>
            <tr>
                <td>
                    <input id="check1" type="checkbox">
                </td>
            </tr>
            <tr>
                <td>
                    <input id="check2" type="checkbox">
                </td>
            </tr>
            <tr>
                <td>
                    <input id="check3" type="checkbox">
                </td>
            </tr>
            <tr>
                <td>
                    <input id="check4" type="checkbox">
                </td>
            </tr>
        </table>
        <script>
            var allcheck = document.getElementById("allCheck")
            allcheck.addEventListener("click",clickHandler)
            for(var i=0;i<5;i++){
                var check = document.getElementById("check"+i)
                check.addEventListener("click",clickHandler);
            }

            function clickHandler(){
                if(allcheck === this){
                    for(var i=0;i<5;i++){
                        var check = document.getElementById("check"+i);
                        check.checked = allcheck.checked;
                    }
                    return;
                }
                for(var j=0;j<5;j++){
                    var checks = document.getElementById("check"+j);
                    if(!checks.checked){
                        allcheck.checked = false;
                        return;
                    }
                }
                allcheck.checked = true;
            }
        </script>
    </body>
</html>

效果如下:

原文地址:https://www.cnblogs.com/qiaowanze/p/11409965.html

时间: 2024-11-05 21:34:47

JS实现购物车全选多选按钮功能的相关文章

JS实现确认、反选、取消按钮功能

<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-wid

vue.js实战——购物车练习(包含全选功能)

vue.js实战第5章 54页的练习1 直接放代码好了,全选的部分搞了好久,代码好像有点啰嗦,好在实现功能了(*^▽^*) HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-sca

js 全选 不选 反选

js实现 全选 不选 反选 思路: 1,获取元素 2,给全选 不选 反选添加点击事件 3,用for循环checkbox 4,把checkbox的checked设置为true即实现全选 5,把checkbox的checked设置为false即实现不选 6,通过if判断,如果checked为true选中状态的,就把checked设为false不选状态,如果checked为false不选状态的,就把checked设为true选中状态. html代码: <input type="button&qu

复选框作为按钮 实现全选/不全选

$(function () {            $("#checkAll").click(function () {                $('input[name="infoids[]"]').attr("checked", this.checked);            });            var $subBox = $("input[name='infoids[]']");         

avalon js实现checkbox全选

转载请注明: TheViper http://www.cnblogs.com/TheViper  duplex双工绑定是avalon绑定里面最有趣的一个,因为它在内部帮开发者做了很多事,让开发者写的代码减少,代码更优雅.下面随便演示一个常见的checkbox全选. 要求:(老掉牙了,还是说一下) 1.勾选了全选框后,下面的子选框全被勾选:没勾选全选框,则子选框全部不勾选 2.子选框如果有一个未勾选,则取消全选框勾选: 3.子选框全部勾选,则勾选全选框 <!DOCTYPE html> <h

js实现CheckBox全选全不选

CheckBox全选全不选的js方法 效果: 页面 :<table style="width: 2350px; table-layout: fixed;" border="0" cellpadding="0" cellspacing="1" bgcolor="b5d6e6" class="data_table"> <tr class="scrollColThe

购物车全选

1. 后端接口设计 请求方式 : PUT /cart/selection/ 请求参数: JSON 或 表单 参数 类型 是否必须 说明 selected bool 是 是否全选,true表示全选,false表示取消全选 返回数据:JSON 返回值 类型 是否必须 说明 message str 是 ok 2. 后端实现 在carts/serializers.py中新建序列化器 class CartSelectAllSerializer(serializers.Serializer): ""

js勾选checkbox,按钮可按

主要实现jquery方法,勾选checkbox后按钮变色并且除去disabled $(function () { $('.pricing-box').click(function () { $(this).addClass("select").siblings().removeClass("select"); }) $(".agree-choose input[type='checkbox']").change(function () { if

js如何判断一个checkbox复选框是否被选中

js如何判断一个checkbox复选框是否被选中:checkbox复选框是最为常用的表单元素之一,它的作用就是用来选中和取消选中,所以有时候就要判断一个复选框是否已经被选中,下面就通过代码实例简单介绍一下如何判断一个复选框是否被选中.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content=&