码迷,mamicode.com
首页 > Web开发 > 详细

纯js全选、多选

时间:2020-01-09 23:04:02      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:nbsp   put   get   思路   type   size   element   code   一个   

使用纯js来写一个模拟购物车的全选和多选功能。

 

思路:

  1、需要给每一个input设置点击事件

  2、全选就是把所有的checkbox设置为true

  3、取消一个不全选,就是判断是否全部的checkbox都被选了

 

代码:

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>

</head>
<body>

    <input type="checkbox" id="all"/>全选
    
    <div id="checkbox">
  
        <input type="checkbox"/>选择一 <br/>
        <input type="checkbox"/>选择二
     
    </div>

<script>

//获取全选按钮
var all = document.getElementById("all");

//获取div中所有的复选框
var checkboxs = document.getElementById("checkbox").getElementsByTagName("input");

//点击全选,获取他当前的状态并设置新的状态
all.onclick = function(){

for(var i = 0;i < checkboxs.length; i++){
 
checkboxs[i].checked = this.checked;

}
}


//获取checkbox所有复选框并注册点击事件
for(var i = 0;i < checkboxs.length; i++){

  checkboxs[i].onclick = function(){

  //设置默认全部选中
  var flag = true;

  //判断是否所有的复选框都选中
  for(var j = 0;j < checkboxs.length; j++){

  if(!checkboxs[j].checked){//如果有一个不被选中
  
    flag = false; //则取消全选

    break;

  }
  }

    all.checked = flag; //取消全选

}
}

</script>

</body>

</html>

 

实现这个功能还有太多的方法了。这个只是其中的一个。

纯js全选、多选

标签:nbsp   put   get   思路   type   size   element   code   一个   

原文地址:https://www.cnblogs.com/huangcan1688/p/12173701.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!