用原生JS实现简单的多选框功能


Posted in Javascript onJune 12, 2017

废话不多说了,直接给大家贴代码了,具体代码如下所示:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<input id="cheakAll" type="checkbox">全选
<div>
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
</div>
</body>
</html>
<script>
//找到全选按钮
var oChkAllBtn=document.getElementById('cheakAll');
var oDiv=document.getElementsByTagName('div')[0];
var aInput=oDiv.getElementsByTagName('input');
var n=0; //计数器
//alert(aInput.length);
//点击全选按钮,让其他的全部选中
oChkAllBtn.onclick=function(){
//判断我是什么状态
/*if(this.checked==true){
for(var i=0; i<aInput.length; i++){
aInput[i].checked=true;
}
}else{
for(var i=0; i<aInput.length; i++){
aInput[i].checked=false;
}
}*/
for(var i=0; i<aInput.length; i++){
if(this.checked==true){//判断全选按钮自己的状态
aInput[i].checked=true;
n=aInput.length; //控制计数器
}else{
aInput[i].checked=false;
n=0; //控制计数器
}
};
};
//--------------------------------------------
//每一个按钮绑定事件
for(var j=0; j<aInput.length; j++){
aInput[j].onclick=function(){
//如果我自己是cheaked状态 n++ 否则 n--
if(this.checked==true){
n++;
}else{
n--;
};
//console.log(n);
//如果n==aInput.length
if(n==aInput.length){
oChkAllBtn.checked=true;
}else{
oChkAllBtn.checked=false;
}
};
};
</script>

以上所述是小编给大家介绍的用原生JS实现简单的多选框功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 加上最后自己的验证
Nov 04 Javascript
js 键盘记录实现(兼容FireFox和IE)
Feb 07 Javascript
正负小数点后两位浮点数实现原理及代码
Sep 06 Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
Jan 28 Javascript
jQuery的缓存机制浅析
Jun 07 Javascript
Javascript无参数和有参数类继承问题解决方法
Mar 02 Javascript
JavaScript实现图片轮播的方法
Jul 31 Javascript
利用js获取下拉框中所选的值
Dec 01 Javascript
react.js使用webpack搭配环境的入门教程
Aug 14 Javascript
VUE长按事件需求详解
Oct 18 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
Sep 15 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
Sep 27 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
Jun 12 #Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
Jun 12 #Javascript
AngularJS 异步解决实现方法
Jun 12 #Javascript
jquery+css实现侧边导航栏效果
Jun 12 #jQuery
angularjs实现上拉加载和下拉刷新数据功能
Jun 12 #Javascript
Vue非父子组件通信详解
Jun 12 #Javascript
详解angularjs 关于ui-router分层使用
Jun 12 #Javascript
You might like
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
php中final关键字用法分析
2016/12/07 PHP
php从身份证获取性别和出生年月
2017/02/09 PHP
php上传excel表格并获取数据
2017/04/27 PHP
php实现微信发红包功能
2018/07/13 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
js表数据排序 sort table data
2009/02/18 Javascript
一个关于jqGrid使用的小例子(行按钮)
2011/11/04 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
再分享70+免费的jquery 图片滑块效果插件和教程
2014/12/15 Javascript
js闭包所用的场合以及优缺点分析
2015/06/22 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
详解javascript数组去重问题
2015/11/06 Javascript
通用javascript代码判断版本号是否在版本范围之间
2015/11/29 Javascript
javascript的BOM
2016/05/03 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
js 实现复选框只能选择一项的示例代码
2018/01/23 Javascript
vue的常用组件操作方法应用分析
2018/04/13 Javascript
JS中的算法与数据结构之集合(Set)实例详解
2019/08/20 Javascript
解决layui弹框失效的问题
2019/09/09 Javascript
VUE中V-IF条件判断改变元素的样式操作
2020/08/09 Javascript
利用Python查看目录中的文件示例详解
2017/08/28 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
2018/06/14 Python
对Python random模块打乱数组顺序的实例讲解
2018/11/08 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
Python docx库用法示例分析
2019/02/16 Python
python 调试冷知识(小结)
2019/11/11 Python
python简单的三元一次方程求解实例
2020/04/02 Python
用python实现名片管理系统
2020/06/18 Python
X/HTML5 和 XHTML2
2008/10/17 HTML / CSS
魔声耳机官方网站:Monster是世界第一品牌的高性能耳机
2016/10/26 全球购物
英国领先的体验日提供商:Buyagift
2019/04/19 全球购物
乡村文明行动实施方案
2014/03/29 职场文书
党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
PHP解决高并发问题
2021/04/01 PHP
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python