首页 前端知识 全选反选案例(html)

全选反选案例(html)

2024-06-16 09:06:31 前端知识 前端哥 850 327 我要收藏

第一列多选框选中为三个商品全选,最后一列反选按钮使三个商品状态翻转

代码:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        table{

            height: 500px;

            width: 500px;

        }

        td{

            border: solid 3px black;

        }

    </style>

</head>

<body>

    <table>

        <tr>

            <td><input type="checkbox" class="all"></td>//全选

            <td><input type="checkbox" class="item"></td>//商品

            <td><input type="checkbox" class="item"></td>//商品

            <td><input type="checkbox" class="item"></td>//商品

            <td rowspan="3"><button>反选</button></td>

        </tr>

        <tr>

            <td>商品</td>

            <td>13</td>

            <td>14</td>

            <td>15</td>

        </tr>

        <tr>

            <td>价格</td>

            <td>1999</td>

            <td>2999</td>

            <td>3099</td>

        </tr>

    </table>

    <script>

        var alltn=document.querySelector('.all');//通过选择器获取事件源

        var items=document.querySelectorAll('.item');//商品,获取得到数组

        var rb=document.querySelector('button');//

        var statealltn=alltn.checked;

//函数,用于获取三个商品状态,只要有一个没有被选中,全选按钮就不是选中状态,直接return返回

        function fn(){  

            for(var i=0;i<items.length;i++){

                if(items[i].checked==false)

                {

                    alltn.checked=false;

                    return

                }  

            }

//for循环结束,所有商品都为选中时执行,全选按钮状态为选中

            alltn.checked=true;

        }

//全选事件(鼠标单击),全选按钮状态放到其余商品按钮中

        alltn.οnclick=function(){

            for(var i=0;i<items.length;i++){

                items[i].checked=alltn.checked;  

            }      

        }

        for(var i=0;i<items.length;i++){

//商品事件,通过for循环遍历,每个商品状态改变时,实行函数(根据商品状态对全选状态做出改变)

            items[i].οnclick=function(){

                fn()

            }

        }

//反选事件,for循环遍历,对每一个商品选项状态都做出反转

        rb.οnclick=function(){

            for(var i=0;i<items.length;i++){

                items[i].checked=!items[i].checked;

                fn();

            }

        }

       </script>

</body>

</html>

我是菜比

转载请注明出处或者链接地址:https://www.qianduange.cn//article/12363.html
标签
评论
发布的文章

用HTML写B站首页

2024-06-22 07:06:37

前端开发 4: jQuery

2024-06-22 01:06:02

网页开发 HTML

2024-06-22 01:06:17

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!