用原生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 相关文章推荐
JavaScript关于select的相关操作说明
Jan 13 Javascript
Extjs学习过程中新手容易碰到的低级错误积累
Feb 11 Javascript
麻雀虽小五脏俱全 Dojo自定义控件应用
Sep 04 Javascript
用JavaScript实现类似于ListBox功能示例代码
Mar 09 Javascript
Bootstrap布局组件应用实例讲解
Feb 17 Javascript
JavaScript预解析及相关技巧分析
Apr 21 Javascript
JavaScript 中的 this 工作原理
Jun 20 Javascript
elementUI 设置input的只读或禁用的方法
Oct 30 Javascript
图文讲解用vue-cli脚手架创建vue项目步骤
Feb 12 Javascript
vue安装遇到的5个报错及解决方法
Jun 12 Javascript
JavaScript中展开运算符及应用的实例代码
Jan 14 Javascript
JavaScript如何优化逻辑判断代码详解
Jun 08 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
解决php中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
php递归方法实现无限分类实例代码
2014/02/28 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
Add Formatted Data to a Spreadsheet
2007/06/12 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
2013/10/21 Javascript
js阻止事件追加的具体实现
2014/10/15 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
JS集成fckeditor及判断内容是否为空的方法
2016/05/27 Javascript
详解基于angular-cli配置代理解决跨域请求问题
2017/07/05 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
nodejs多版本管理总结
2018/04/03 NodeJs
详解vue 数据传递的方法
2018/04/19 Javascript
vue使用自定义icon图标的方法
2018/05/14 Javascript
JS实现图片切换效果
2018/11/17 Javascript
小白教程|一小时上手最流行的前端框架vue(推荐)
2019/04/10 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
Python多维/嵌套字典数据无限遍历的实现
2016/11/04 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
python解析含有重复key的json方法
2019/01/22 Python
详解小白之KMP算法及python实现
2019/04/04 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
Flask框架模板继承实现方法分析
2019/07/31 Python
python 批量将中文名转换为拼音
2021/02/07 Python
优秀护士演讲稿
2014/04/30 职场文书
2014高考励志标语
2014/06/05 职场文书
团代会闭幕词
2015/01/28 职场文书
幼儿园父亲节活动总结
2015/02/12 职场文书
营运督导岗位职责
2015/04/10 职场文书
文艺部部长竞选稿
2015/11/21 职场文书
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏
Python如何使用循环结构和分支结构
2022/04/13 Python