JS实例-全选练习
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="" method="post">
<label for="checkedAllBox">你爱好的运动是?</label><input type="checkbox" id="checkedAllBox"/>全选/全不选
<br/>
<!--定义了复选框type="checkbox". 用户需要从若干给定的选择中选取一个或若干选项。-->
<label>
<input type="checkbox" name="items" value="足球"/>
足球
</label>
<label>
<input type="checkbox" name="items" value="蓝球"/>
蓝球
</label>
<label>
<input type="checkbox" name="items" value="羽毛球"/>
羽毛球
</label>
<label>
<input type="checkbox" name="items" value="乒乓球"/>
乒乓球
</label>
<br/>
<input type="button" id="checkedAllBtn" value="全 选"/>
<input type="button" id="checkedNoBtn" value="全不选"/>
<input type="button" id="checkedRevBtn" value="反 选"/>
<input type="button" id="sendBtn" value="提 交"/>
</form>
</body>
</html>
<script>
function myClick1(idStr,fun){
//全选/全不选框的地址
var checkedAllBox=document.getElementsByName("checkedAllBox");
// 全选按钮:点击按钮之后,四个多选框全都被选中
const btn=document.getElementById(idStr);
btn.onclick=fun;
}
// 全选框
myClick1("checkedAllBtn",function () {
var items=document.getElementsByName("items");
//items为一个数组,需要遍历
for(let i=0;i<items.length;i++){
//设置四个多选框变成选中状态
//通过多选框的checked属性获取或设置多选框的选中状态
items[i].checked=true;
}
checkedAllBox.checked=true;
});
// 全不选按钮:点击之后,四个多选框全都不被选中
myClick1("checkedNoBtn",function () {
var items = document.getElementsByName("items");
for(let i=0;i<items.length;i++){
items[i].checked=false;
}
checkedAllBox.checked=false;
});
// 反选:点击之后选中的变成没选中,没选中的选中
myClick1("checkedRevBtn",function () {
var items=document.getElementsByName("items")
for(let i=0;i<items.length;i++){
/* if(items[i].checked===false){
items[i].checked=true;
}
else{
items[i].checked=false;
}*/
//反选时也需要判断四个多选框是否全部选中
items[i].checked=!items[i].checked;
checkedAllBox.checked=true;
//判断四个多选框是否全选,只要有一个没选中就不是全选
for(let j=0;j<items.length;j++) {
if (!items[j].checked) {
// 一旦进入判断,则证明不是全选状态
// 将checkedAllBox设置为没选中
checkedAllBox.checked = false;
}
}
}
/* checkedAllBox.checked=true;
for(let j=0;j<items.length;j++){
//判断四个多选框是否全选,只要有一个没选中就不是全选
if(!items[j].checked){
// 一旦进入判断,则证明不是全选状态
// 将checkedAllBox设置为没选中
checkedAllBox.checked=false;
break;
}
}*/
});
// 提交按钮:点击之后所有多选框的value属性值弹出
myClick1("sendBtn",function () {
var items=document.getElementsByName("items");
for(let i=0;i<items.length;i++){
if(items[i].checked===true){
alert(items[i].value)}}
});
//全选中或全不选中
myClick1("checkedAllBox",function () {
var items=document.getElementsByName("items");
for(let i=0;i<items.length;i++){
// items[i].checked=checkedAllBox.checked;
items[i].checked=this.checked;
}
});
/*如果四个多选框全都选中,则checkAllBox也应该选中
如果四个多选框全都不选中,则checkAllBox也应该不选中*/
//为四个多选框分别绑定点击响应函数
var items=document.getElementsByName("items");
for(let i=0;i<items.length;i++){
items[i].onclick=function () {
checkedAllBox.checked=true;
for(let j=0;j<items.length;j++){
//判断四个多选框是否全选,只要有一个没选中就不是全选
if(!items[j].checked){
// 一旦进入判断,则证明不是全选状态
// 将checkedAllBox设置为没选中
checkedAllBox.checked=false;
break;
}
}
}
}
</script>
JS实例-全选练习的更多相关文章
- JS checkbox 全选 全不选
/* JS checkbox 全选 全不选 Html中checkbox: <input type="checkbox" name="cbx" value= ...
- JS实现全选、反选、不选
JS实现全选.反选.不选 效果图: 代码如下,复制即可使用: <!DOCTYPE html> <html> <head> <meta charset=&quo ...
- 第十六篇 JS实现全选操作
JS实现全选 嗨,同学们好,老师这里是专门教同学解决一些针对性的问题,所以说综合起来,就要靠同学自己了. 这节课我们学一个很实用的东西,全选操作!比如淘宝这种商城对吧,我的购物车,我要全选购买,或 ...
- elementUI+JS实现全选与反选
在实际项目开发过程中,遇到的需求,需要实现全选以及取消全选等功能,主要使用ElementUI + JS来实现,具体代码如下: <!DOCTYPE html> <html lang=& ...
- JS实现全选功能
000. 开始 学习JS有一段时间了,最近看了一些JS练手的小demo实例,自己也尝试着用JS进行实现. 全选功能是在很多注册页面.获取用户兴趣爱好.让用户勾选一些选项等页面中常见的一种效果,主要有全 ...
- 一个js编写全选、弹出对话框、ajax-json的案例
js功能有:全选.弹出对话框.使用json传输ajax数据:不想在写多余的文字了,直接上代码: <%@ page language="java" contentType=&q ...
- jquery与js实现全选功能的区别---2017-05-12
一.jquery常用的事件 click(),dbclick() focus(),blur() change() keydown(),keypress(),keyup() mousedown(),mou ...
- php处理表单中的复选框问题以及js实现全选
做的一个项目中遇到了全选和取消全选的问题,这是一个很普遍的功能,,虽然我们经常用到,但是真正做起来却发现行不通,在网上找了些,大部分都是ie,但是谷歌内核浏览器不能正常实现,所以经过小小的调整,今天就 ...
- JS实现全选、不选、反选
思路:1.获取元素.2.用for循环历遍数组,把checkbox的checked设置为true即实现全选,把checkbox的checked设置为false即实现不选.3.通过if判断,如果check ...
随机推荐
- Python Ethical Hacking - WEB PENETRATION TESTING(4)
CRAWING SPIDER Goal -> Recursively list all links starting from a base URL. 1. Read page HTML. 2. ...
- 服务注册与发现【Eureka】- Eureka简介
什么是服务治理 SpringCloud 封装了 Netflix 公司开发的 Eureka 模块来 实现服务治理. 在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所 ...
- 最小生成树的java实现
文章目录 一.概念 二.算法 2.1 Prim算法 2.2 Kruskal算法 笔记来源:中国大学MOOC王道考研 一.概念 连通图:图中任意两点都是连通的,那么图被称作连通图 生成树:连通图包含全部 ...
- springMVC -- 对接UEditor(富文本编辑器)
工作中需要用到UEditor编辑文本,在与springMVC进行整合时,出现了一些问题,结果导致,在进行图片上传时出现如下提示: 上网查询了很多相关资料,此处简要记录下,防止以后遇到类似问题. 一种方 ...
- 使用 flask 构建我的 wooyun 漏洞知识库
前言 最近在学 flask,一段时间没看,又忘得差不多了,于是弄这个来巩固一下基础知识 漏洞总共包括了 88820 个, Drops 文章总共有 1235 篇,全来自公开数据,在 Github 上收集 ...
- 如何利用tox打造自动自动化测试框架,看完就懂
什么是toxtox官方文档的第一句话 standardize testing in Python,意思就是说标准化python中的测试,那是不是很适合测试人员来使用呢,我们来看看他究竟是什么? 根据官 ...
- C#中子类对基类方法的继承、重写和隐藏
提起子类.基类和方法继承这些概念,肯定大家都非常熟悉.毕竟,作为一门支持OOP的语言,掌握子类.基类是学习C#的基础.不过,这些概念虽然简单,但是也有一些初学者可能会遇到的坑,我们一起看看吧. 子 ...
- 在ASP.NET Core中创建自定义端点可视化图
在上篇文章中,我为构建自定义端点可视化图奠定了基础,正如我在第一篇文章中展示的那样.该图显示了端点路由的不同部分:文字值,参数,动词约束和产生结果的端点: 在本文中,我将展示如何通过创建一个自定义的D ...
- 【高并发】亿级流量场景下如何为HTTP接口限流?看完我懂了!!
写在前面 在互联网应用中,高并发系统会面临一个重大的挑战,那就是大量流高并发访问,比如:天猫的双十一.京东618.秒杀.抢购促销等,这些都是典型的大流量高并发场景.关于秒杀,小伙伴们可以参见我的另一篇 ...
- synchronized的锁升级/锁膨胀
偏向锁 偏向第一个拿到锁的线程. 即第一个拿到锁的线程,锁会在对象头 Mark Word 中通过 CAS 记录该线程 ID,该线程以后每次拿锁时都不需要进行 CAS(指轻量级锁). 如果该线程正在执行 ...