分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

纯js实现checkbox的全选、反选、全不选

发布时间:2023-09-06 01:49责任编辑:郭大石关键词:jscheckbox
  • 分开:
    a. 代码:
    <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body><input type="checkbox" id="check_all">全选<input type="checkbox" id="un_check_all">全不选<input type="checkbox" id="un_check">反选<br><input type="checkbox"> <br><input type="checkbox"><br><input type="checkbox"><br><input type="checkbox"><br><input type="checkbox"><br><input type="checkbox"><script>var check_all = document.getElementById(‘check_all‘);var un_check_all = document.getElementById(‘un_check_all‘);var un_check = document.getElementById(‘un_check‘);var checkbox = document.getElementsByTagName(‘input‘);var arr = new Array(‘check_all‘,‘un_check_all‘,‘un_check‘)function testCheck(){var bool = false;for (var i=0;i<checkbox.length;i++){ ???if(!(checkbox[i].hasAttribute(‘id‘) && (arr.indexOf(checkbox[i].getAttribute(‘id‘))!=-1))){ ???????if(checkbox[i].checked){ ???????????bool = true; ???????????break; ???????} ???}}return bool;}function checkAll(){for (var i=0;i<checkbox.length;i++){ ???if(checkbox[i].hasAttribute(‘id‘) && (arr.indexOf(checkbox[i].getAttribute(‘id‘))!=-1)){ ???????if(checkbox[i].getAttribute(‘id‘)==‘check_all‘){ ???????????console.log(1) ???????????checkbox[i].checked = true ???????}else{ ???????????checkbox[i].checked = false ???????} ???}else{ ???????checkbox[i].checked = true ???}}}function unCheckAll(){for (var i=0;i<checkbox.length;i++){ ???if(checkbox[i].hasAttribute(‘id‘) && (arr.indexOf(checkbox[i].getAttribute(‘id‘))!=-1)){ ???????if(checkbox[i].getAttribute(‘id‘)==‘un_check_all‘){ ???????????console.log(2) ???????????checkbox[i].checked = true ???????}else{ ???????????checkbox[i].checked = false ???????} ???}else{ ???????checkbox[i].checked = false ???}}}function unCheck(){for (var i=0;i<checkbox.length;i++){ ???if(checkbox[i].hasAttribute(‘id‘) && (arr.indexOf(checkbox[i].getAttribute(‘id‘))!=-1)){ ???????if(checkbox[i].getAttribute(‘id‘)==‘un_check‘){ ???????????console.log(3) ???????????checkbox[i].checked = true ???????}else{ ???????????checkbox[i].checked = false ???????} ???}else{ ???????if(checkbox[i].checked == true){ ???????????checkbox[i].checked = false ???????}else{ ???????????checkbox[i].checked = true ???????} ???}}}check_all.onclick = function(){ ???????????????????checkAll() ???????????????}un_check_all.onclick = function(){ ???????????????????unCheckAll() ???????????????}un_check.onclick = function(){ ???????????????????unCheck() ???????????????}</script></body></html>

    b. 效果:




  • 合并:
    a. 代码:
    <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body><input type="checkbox" id="toggle_check">全选/全不选<br><input type="checkbox"> <br><input type="checkbox"><br><input type="checkbox"><br><input type="checkbox"><br><input type="checkbox"><br><input type="checkbox"><script>var toggle_check = document.getElementById(‘toggle_check‘);var checkbox = document.getElementsByTagName(‘input‘);function testCheck(){var bool = false;for (var i=0;i<checkbox.length;i++){ ???if(!(checkbox[i].hasAttribute(‘id‘) && checkbox[i].getAttribute(‘id‘) == ‘toggle_check‘)){ ???????if(checkbox[i].checked){ ???????????bool = true; ???????????break; ???????} ???}}return bool;}function checkAll(){for (var i=0;i<checkbox.length;i++){ ???checkbox[i].checked = true}}function unCheckAll(){for (var i=0;i<checkbox.length;i++){ ???checkbox[i].checked = false}}toggle_check.onclick = function(){ ???????????????????var bool = testCheck() ???????????????????if(bool){ ???????????????????????unCheckAll() ???????????????????}else{ ???????????????????????checkAll() ???????????????????} ???????????????}</script></body></html>

    b. 效果:


  • 纯js实现checkbox的全选、反选、全不选

    原文地址:http://blog.51cto.com/12173069/2103570

    知识推荐

    我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
    icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved