js, jQuery实现全选、反选功能

时间:2021-05-26

js ,jq实现全选、反选功能:

js:思路:1.点击全选按钮实现,下面内容全选,与反选 2.下面有一个没有选中时,全选按钮不勾选,当全部选中时才全选。这里引入一个计数器,来判断是否全部选中。

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> 全选<input type="checkbox" name="allchoose" id="box" onclick="chk()"/> <div id="lower"> 苹果<input type="checkbox" name="apple" id="apple"/> 香蕉<input type="checkbox" name= "banner" id="banner" /> 橘子<input type="checkbox" name="origin" id="origin"/> </div> <script type="text/javascript"> var box = document.getElementById("box"); var lb = document.getElementById("lower"); var lber = lb.getElementsByTagName("input"); //全选,反选 box.onclick = function(){ if(this.checked){ for(var i=0;i<lber.length;i++){ lber[i].checked = true; } }else{ for(var i=0;i<lber.length;i++){ lber[i].checked = false; } } } //下面全选后,全选框才勾上 for(var i=0;i<lber.length;i++){ lber[i].onclick = function(){ //引入计数器sum var sum = 0; for(var j=0;j<lber.length;j++){ if(lber[j].checked){ sum += 1; if(sum == lber.length){ box.checked = true; } else { box.checked = false; } } } } } </script> </body></html>

jq,使用jQuery 前先引入 jq:

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <input type="checkbox" value="全选" id="ckAll"/>水果</br> <div class="box"> <input type="checkbox" value="苹果" id="apple"/>苹果 <input type="checkbox" value="香蕉" id="bann"/>香蕉 <input type="checkbox" value="橘子" id="origin"/>橘子 </div> <script src="js/jquery-1.8.3.min.js"></script> <script type="text/javascript">       //给所有 .box input 元素添加 checked = ckAll 当前的状态;       //prop('checked',value) ,第一个值获取属性,第二个值:设置属性值。prop只有一个参数时,表示获取元素属性。        $('#ckAll').click(function(){           $('.box input').prop('checked',$(this).prop('checked')); }); $('.box input').click(function(){ //each 便利每一个元素,让其执行该函数 $('.box input').each(function(){ if(!$(this).prop('checked')){ $('#ckAll').prop('checked',false); //有一个不满足就 跳出该循环,避免执行下面 return false; }else{ $('#ckAll').prop('checked',true); } }) })</script> </body></html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章