checkbox实现全选功能

news/2024/7/10 23:23:25 标签: jquery, javaScript

一.JQuery实现全选功能:

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title>checkbox</title>
</head>
<body>
    <input type="checkbox" name="btn" id="btn"/><label for="btn">全选/全不选</label><br/>
    <input type="checkbox" name="choose" id="checkbox1"/><label for="checkbox1">选项1</label><br/>
    <input type="checkbox" name="choose" id="checkbox2"/><label for="checkbox2">选项2</label><br/>
    <input type="checkbox" name="choose" id="checkbox3"/><label for="checkbox3">选项3</label><br/>
    <input type="checkbox" name="choose" id="checkbox4"/><label for="checkbox4">选项4</label><br/>
    <input type="checkbox" name="choose" id="checkbox5"/><label for="checkbox5">选项5</label><br/>
    <input type="checkbox" name="choose" id="checkbox6"/><label for="checkbox6">选项6</label><br/>
    <a href="javascript:;" id="btn2">反选</a>
</body>
</html>
<script type="text/javascript" src="/js/jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$(function(){
    var checkboxes = $('input[name=choose]');
    var btn = $('#btn');
    var btn2 = $('#btn2');
    
    btn.click(function(){
        checkboxes.attr('checked',this.checked);
    });
    checkboxes.click(function(){
        var flag = true;
        checkboxes.each(function(){
            if(!this.checked) flag = false;
        });
        btn.attr('checked',flag);
    });
    btn2.click(function(){
        var flag = true;
        checkboxes.each(function(){
            this.checked = !this.checked;
            if(!this.checked) flag = false;
        });
        btn.attr('checked',flag);
    });
});
</script>

 

二.JavaScript实现全选功能:

 

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title>checkbox</title>
</head>
<body>
    <input type="checkbox" name="btn" id="btn"/><label for="btn">全选</label><br/>
    <input type="checkbox" name="choose" id="checkbox1"/><label for="checkbox1">选项1</label><br/>
    <input type="checkbox" name="choose" id="checkbox2"/><label for="checkbox2">选项2</label><br/>
    <input type="checkbox" name="choose" id="checkbox3"/><label for="checkbox3">选项3</label><br/>
    <input type="checkbox" name="choose" id="checkbox4"/><label for="checkbox4">选项4</label><br/>
    <input type="checkbox" name="choose" id="checkbox5"/><label for="checkbox5">选项5</label><br/>
    <input type="checkbox" name="choose" id="checkbox6"/><label for="checkbox6">选项6</label><br/>
    <a href="javascript:;" id="btn2">反选</a>
</body>
</html>
<script type="text/javascript">
window.onload = function(){
    var oBtn = document.getElementById('btn');
    var oBtn2 = document.getElementById('btn2');
    var oInput = document.getElementsByName('choose');
    
    for(var i = 0;i < oInput.length; i++){
        oInput[i].onclick = function(){
            this.checked ? allCheck() : oBtn.checked = false;
        };
    };
    
    //全选
    oBtn.onclick = function(){
        for(var i = 0;i < oInput.length; i++){
            oBtn.checked ? oInput[i].checked = true : oInput[i].checked = false;
        };
    };
    
    //反选
    oBtn2.onclick = function(){
        for(var i = 0;i < oInput.length; i++){
            oInput[i].checked = !oInput[i].checked;
        };
        allCheck();
    };
};

//判断是否全选
function allCheck(){
    var oBtn = document.getElementById('btn');
    var oInput = document.getElementsByName('choose');
    var allCheck = true;
    for(var i = 0;i < oInput.length; i++){
        if(!(oInput[i].checked)) allCheck = false;
    };
    allCheck ? oBtn.checked = true : oBtn.checked = false;
};
</script>

 


http://www.niftyadmin.cn/n/1319144.html

相关文章

call,apply,bind 的区别

相同&#xff1a;都是改变函数this的指向 不同&#xff1a; 1.call和bind传参相同&#xff0c;apply第二个参数要传数组 2.bind会返回一个新函数并且bind只会执行一次&#xff08;后面绑定的this都是第一次绑定的this&#xff09; const obj1 {a: 1 } const obj2 {a: 1 }…

2012-11-18 SCJP笔记

1. 【考点&#xff1a;stringbuffer的特性】 String&#xff0c;stringbuffer&#xff0c;stringbuilder的使用特性。String是字符常量&#xff0c;stringbuffer是字符变量。 String类是字符串常量&#xff0c;是不可更改的常量。而StringBuffer是字符串变量&#xff0c;它的对…

创建表约束的语法

一.创建表约束语法: ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint_type constraint_definition 说明&#xff1a; table_name 要修改的表的名称 constraint_name 约束的名称 constraint_type 约束的类型&#xff0c;有以下四种…

pinia的学习和理解

pinia 介绍 vue新一代状态管理库&#xff0c;相当于vuex 特性 1.像定义components一样定义store 2.支持ts 3.去除mutations&#xff0c;只有state&#xff0c;getters&#xff0c;actions&#xff08;支持同步异步&#xff09; 4.轻量级&#xff08;1kb&#xff09; 5.…

vi复制部分字符

比如复制某一行中的4个字符办法一&#xff1a;4yl复制光标后的 4yh用后复制光标前的&#xff0c;l 和 h是用来指明方向&#xff0c;和vi中l和h的移动方向一致&#xff0c;不要错以为l表示left方法二&#xff1a;在命令行下按"v"进入可视模式&#xff0c;然后按&quo…

vue3.0的简单入手学习

vite创建vue3.0 # npm 7, 需要额外的双横线&#xff1a; npm init vitelatest my-vue-app -- --template vue# yarn yarn create vite my-vue-app --template vueVSCode安装vue3插件&#xff1a;Volar 组件引入 只要在<script setup> 标签里面引入组件&#xff0c;只要…

ORACLE查出表所有的触发器及触发器详细信息

一.查all_triggers表得到trigger_name select trigger_name from all_triggers where table_nameXXX; 二.根据trigger_name查询出触发器详细信息 select text from all_source where typeTRIGGER AND nameTR_XXX;

《童梦奇缘-梦幻般的羁绊》第五章-长河

第五章 长河翻阅记忆的长河&#xff0c;去搜寻那些逝去已久但依旧清晰可见的印象。终于&#xff0c;又找到了一件改变他2/5的生命的大事。那是初一下学期&#xff0c;一天小&#xff33;&#xff27;正在上课&#xff0c;突然他姐夫跟上课的老师说找小&#xff33;&#xff27;…