原生JS实现全选和不全选
- 案例演示

- 源代码
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
* {
padding: 0;
margin: 0;
} .wrap {
width: 300px;
margin: 100px auto 0;
} table {
border-collapse: collapse;
border-spacing: 0;
border: 1px solid #c0c0c0;
width: 300px;
} th,
td {
border: 1px solid #d0d0d0;
color: #404060;
padding: 10px;
} th {
background-color: #09c;
font: bold 16px "微软雅黑";
color: #fff;
} td {
font: 14px "微软雅黑";
} tbody tr {
background-color: #f0f0f0;
} tbody tr:hover {
cursor: pointer;
background-color: #fafafa;
}
</style>
</head>
<body>
<div class="wrap">
<table>
<thead>
<tr>
<th>
<input type="checkbox" id="j_cbAll"/>
</th>
<th>菜名</th>
<th>饭店</th>
</tr>
</thead>
<tbody id="j_tb">
<tr>
<td>
<input type="checkbox"/>
</td>
<td>红烧肉</td>
<td>田老师</td>
</tr>
<tr>
<td>
<input type="checkbox"/>
</td>
<td>西红柿鸡蛋</td>
<td>田老师</td>
</tr>
<tr>
<td>
<input type="checkbox"/>
</td>
<td>鱼香肉丝</td>
<td>田老师</td>
</tr>
<tr>
<td>
<input type="checkbox"/>
</td>
<td>小葱拌豆腐</td>
<td>田老师</td>
</tr> </tbody>
</table>
</div> <script> var cksAll=document.getElementById('j_cbAll');
var cks = document.getElementById('j_tb').getElementsByTagName("input");
cksAll.onclick=function() {
for (var i = 0; i < cks.length; i++) {
cks[i].checked=this.checked; }
}; for(var i=0;i<cks.length;i++){
cks[i].onclick=function(){
var flag=true;
for(var j=0;j<cks.length;j++){
if(!cks[j].checked){
flag=false;
break;
}
}
cksAll.checked=flag;
};
}
</script>
</body>
</html>
全选和不全选》.html
- 具体实现
思想方法:
//全选:点击全选按钮,其他的小按钮都选中,说明小按钮的状态是跟着全选按钮而变化的
//不全选:小按钮有一个没选择,全选不选中
- 核心代码
//获取全选按钮
var cksAll=my$("j_cbAll");
//获取其他小按钮
var cks = my$("j_tb").getElementsByTagName("input");
//实现点击全选按钮,小按钮的状态跟着全选按钮变化
cksAll.onclick=function() {
for (var i = 0; i < cks.length; i++) {
cks[i].checked=this.checked; }
};
//遍历每一个小按钮
for(var i=0;i<cks.length;i++){
//为每一个按钮注册点击事件
cks[i].onclick=function(){
//开始默认全都选中
var flag=true;
for(var j=0;j<cks.length;j++){
//循环过程中如果有一个小按钮没被选中,就将flag=false,并且此时不需要继续遍历了
if(!cks[j].checked){
flag=false;
break;
}
}
//全选按钮状态和flag相同
cksAll.checked=flag;
};
}
原生JS实现全选和不全选的更多相关文章
- 原生JS实现全屏切换以及导航栏滑动隐藏及显示——重构前
思路分析: 向后滚动鼠标滚轮,页面向下全屏切换:向前滚动滚轮,页面向上全屏切换.切换过程为动画效果. 第一屏时,导航栏固定在页面顶部,切换到第二屏时,导航条向左滑动隐藏.切换回第一屏时,导航栏向右滑动 ...
- 原生JS实现全选,反选
无样式,比较丑 <!DOCTYPE html><html><head><meta charset="UTF-8"><title ...
- js实现CheckBox全选或者不全选
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">< ...
- jQuery给CheckBox全选与不全选
$(function(){ $("#checkAll").click(function() {//全选 $('input[name="DATA"]').prop ...
- jquery全选或不全选时,不操作已经禁用的checkbox
$("#selectAll").click(function(){ if(this.checked ){ $(":checkbox[name='equid']" ...
- jquery 取消全选和全选功能 不全选
代码如下 function ckSelectAll() { if ($('#ckSelectAll').is(':checked') == true) { $("INPUT[name='ch ...
- 原生js的联动全选
开发应用中有很多工具可以使用,下面介绍一个原生js写的联动全选思路!!! <!DOCTYPE html> <html lang="en"> <head ...
- JS实现全选、反选、不选
JS实现全选.反选.不选 效果图: 代码如下,复制即可使用: <!DOCTYPE html> <html> <head> <meta charset=&quo ...
- JS checkbox 全选 全不选
/* JS checkbox 全选 全不选 Html中checkbox: <input type="checkbox" name="cbx" value= ...
随机推荐
- tensorflow点滴笔记
1.模型保存 模型保存需要使用函数 tf.train.Saver(), a)创建saver时,可以指定需要存储的tensor,如果没有指定,则全部保存. b) 创建saver时,可以指定保存的模型个数 ...
- Lodop打印控件 如何打印虚线
Lodop提供了打印设计可以方便开发人员的开发,预览是打印的反显,可以显示出打印效果,但是在开发时,还是要用虚拟打印机实际测试,(win7以上系统可能自带xps虚拟打印机 Microsoft XPS ...
- Web API 如何请求基于Basic/Bearer 头的方式 C#
public void SetBasicAuthHeader(WebRequest request, String userName, String userPassword) { string au ...
- poj-1386(欧拉回路)
题意:给你n个单词,每个单词可以和另一个单词连接,前提是(这个单词的尾字母等下一个单词的首字母),问你有没有一种连法能够连接所有的单词: 解题思路:每个单词可以看成是首字母指向尾字母的一条边,那么就变 ...
- CSS查漏补缺【未完】
1.层叠次序 当同一个 HTML 元素被不止一个样式定义时,会使用哪个样式呢? 一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权. 浏览器缺省设置 外部样 ...
- F. Asya And Kittens 并查集维护链表
reference :https://www.cnblogs.com/ZERO-/p/10426473.html
- 微信开发使用webstorm&phpstrom 配置
材料: 下载链接:https://pan.baidu.com/s/1pLn6jFl 密码:fgo5 -----(将其中的wecharCode.jar 下载下来,然后在webStorm 的 File ...
- 爬虫_豆瓣全部正在热映电影 (xpath)
单纯地练习一下xpath import requests from lxml import etree def get_url(url): html = requests.get(url) retur ...
- 自学华为IoT物联网_10 IoT联接管理平台配置及开发实验1
点击返回自学华为IoT物流网 自学华为IoT物联网_10 IoT联接管理平台配置及开发实验1 实验1:OceanConnect平台实验 通过基本的编程操作与配置,帮助读者熟悉O ...
- NOIP2011Mayan游戏(模拟)
Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个77 行\times 5×5列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游戏通关是指 ...