js实现简单的菜谱全选功能
思路:全选按钮和子按钮分开考虑,当全选按钮选中的时候,也就是其checked为true的时候,所有的子按钮也全都为true,反之,则为false。子按钮的想法是,当点击某一个子按钮的时候,会看一下是否所有的子按钮都被选中,如果都选中,则全选按钮也同时为true
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
user-select: none;
}
table{
width: 500px;
height: 200px;
margin: 15px 0 0 15px;
text-align: center;
}
table td{
border-bottom: 1px solid #ccc;
border-left: 1px solid #ccc;
}
table .lasttd,.lastth{
border-right: 1px solid #ccc;
}
table th{
border-bottom: 1px solid #ccc;
border-left: 1px solid #ccc;
border-top: 1px solid #ccc;
}
</style>
</head>
<body>
<table>
<tr>
<th><input type="checkbox" class="check-all" ></th>
<th>菜品</th>
<th class="lastth">价格</th>
</tr>
<tr>
<td><input type="checkbox" ></td>
<td>宫保鸡丁</td>
<td class="lasttd">10</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>宫保鸡丁</td>
<td class="lasttd">10</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>宫保鸡丁</td>
<td class="lasttd">10</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>宫保鸡丁</td>
<td class="lasttd">10</td>
</tr>
</table> <script>
var checkAll=document.querySelector('.check-all');
var checklist=document.querySelectorAll('td input');
var num=0;
// console.log(checklist)
//全选按钮
checkAll.onclick=function(){
if(checkAll.checked){
for(var i=0;i<checklist.length;i++){
checklist[i].checked=true;
}
num=checklist.length;
}else{
for(var i=0;i<checklist.length;i++){
checklist[i].checked=false;
}
num=0;
}; }
//子按钮
for(var i=0;i<checklist.length;i++){
checklist[i].onclick=function(){
if(this.checked) num++;
else num--;
if(num==checklist.length)
checkAll.checked=true;
else checkAll.checked=false;
} } </script>
</body>
</html>
js实现简单的菜谱全选功能的更多相关文章
- JS全选功能代码优化
原文:JS全选功能代码优化 JS全选功能代码优化 最近在看javascript MVC那本书,也感觉到自己写的代码也并不优雅,所以一直在想 用另一种模式来编写JS代码,所以针对之前的简单的JS全选功能 ...
- jquery与js实现全选功能的区别---2017-05-12
一.jquery常用的事件 click(),dbclick() focus(),blur() change() keydown(),keypress(),keyup() mousedown(),mou ...
- JS实现全选功能
000. 开始 学习JS有一段时间了,最近看了一些JS练手的小demo实例,自己也尝试着用JS进行实现. 全选功能是在很多注册页面.获取用户兴趣爱好.让用户勾选一些选项等页面中常见的一种效果,主要有全 ...
- js初学—实现checkbox全选功能
布局如下: <p ><input type="checkbox" id="che1"/>全选</p><div id=& ...
- js事件---同一个事件实现全选与反选功能
背景: 点击头部按钮,实现全选与反选功能 1.绑定事件,把当前勾选状态传递给方法 $event <el-checkbox v-model="ModelCheckAll" cl ...
- S全选功能代码
JS全选功能代码优化 2014-06-26 00:00 by 龙恩0707, 470 阅读, 3 评论, 收藏, 编辑 JS全选功能代码优化 最近在看javascript MVC那本书,也感觉到自己写 ...
- EasyUI datagrid 复选框可以多选但不能全选功能实现
1.功能需求: 实现多选,但是不能够全选功能 2.js代码 //帮卖列表页面,可以多选但是不能够全选实现 $(".datagrid-header-check").children ...
- C# winform中的datagridview控件标头加入checkbox,实现全选功能。
/// <summary> /// 给DataGridView添加全选 /// </summary> public class AddCheckBoxToDataGridVie ...
- jquery实现全选功能
主要是模拟一些网页中的表格实现全选功能. <form> 你爱好的运动是: <input type="checkbox" id="Check" ...
随机推荐
- Java实现蓝桥杯有歧义的号码
描述 小Hi参加了一场大型马拉松运动会,他突然发现面前有一位参赛者背后的号码竟然和自己一样,也是666.仔细一看,原来那位参赛者把自己号码帖反(旋转180度)了,结果号码999看上去变成了号码666. ...
- java实现第七届蓝桥杯愤怒小鸟
愤怒小鸟 题目描述 X星球愤怒的小鸟喜欢撞火车! 一根平直的铁轨上两火车间相距 1000 米 两火车 (不妨称A和B) 以时速 10米/秒 相对行驶. 愤怒的小鸟从A车出发,时速50米/秒,撞向B车, ...
- java代码(8) ---guava字符串工具
guava字符串工具 一.Joiner 根据指定的分隔符把字符串连接在一起,MapJoiner执行相同的操作,但是针对Map的key和value 分析源码可知:该类构造方法被private修饰,无法直 ...
- 「从零单排canal 01」 canal 10分钟入门(基于1.1.4版本)
1.简介 canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据 订阅 和 消费.应该是阿里云DTS(Data Transfer Servi ...
- mysql基础-数据类型和sql模式-学习之(三)
0x01 mysql的两种方向: 开发DBA:数据库设计(E-R关系图).sql开发.内置函数.存储历程(存储过程和存储函数).触发器.时间调度器(event scheduler) 运维----> ...
- el-table 表格加图片、加音频、加序号、多级动态表头
elemnet-ui组件库大家应该不陌生,在展示多条结构类似的数据方面,el-table可谓扛把子,不仅可以把数据展示的整齐,还支持排序.筛选或其他自定义操作.那么,除了上述的基本功能外,你还遇到过哪 ...
- Nice Jquery Validator DOM 绑定
针对表单的绑定 示例:在 form 上绑定 data-validator-option 来配置参数 <form data-validator-option='{stopOnError:false ...
- 利用Jackson将数据转换为Json
1.确保相关依赖导入 2.配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app ...
- 将pycharm中的代码上传到远程Ubuntu中
no bb...下面直接放图开干...^_^
- Shell编译安装nginx
环境及规划 [root@nginx-node01 ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) ID 主机名 ip ...