用原生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 面向对象全新理练之继承与多态
Dec 03 Javascript
如何用JavaScript定义一个类
Sep 12 Javascript
node.js中的fs.writeSync方法使用说明
Dec 15 Javascript
Bootstrap每天必学之按钮(Button)插件
Apr 25 Javascript
使用jQuery实现Web页面换肤功能的要点解析
May 12 Javascript
详解vue mint-ui源码解析之loadmore组件
Oct 11 Javascript
vue项目中用cdn优化的方法
Jan 03 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
Feb 08 Javascript
Vue完整项目构建(进阶篇)
Feb 10 Javascript
vue动态路由配置及路由传参的方式
May 23 Javascript
解决vue中虚拟dom,无法实时更新的问题
Sep 15 Javascript
VuePress 静态网站生成方法步骤
Feb 14 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内核解析:PHP中的哈希表
2014/01/30 PHP
PHP SESSION的增加、删除、修改、查看操作
2015/03/20 PHP
Yii2实现让关联字段支持搜索功能的方法
2016/08/10 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
js下弹出窗口的变通
2007/04/18 Javascript
JavaScript与函数式编程解释
2007/04/27 Javascript
JavaScript计时器示例分析
2015/02/05 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
2015/06/01 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
web打印小结
2017/01/11 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
Vue页面骨架屏注入方法
2018/05/13 Javascript
vue组件(全局,局部,动态加载组件)
2018/09/02 Javascript
布同 Python中文问题解决方法(总结了多位前人经验,初学者必看)
2011/03/13 Python
跟老齐学Python之编写类之三子类
2014/10/11 Python
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
python爬虫爬取某站上海租房图片
2018/02/04 Python
python微信公众号开发简单流程
2018/03/23 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
python3获取当前目录的实现方法
2019/07/29 Python
python实现在内存中读写str和二进制数据代码
2020/04/24 Python
Python如何在单元测试中给对象打补丁
2020/08/03 Python
PHP如何去执行一个SQL语句
2016/03/05 面试题
八项规定整改方案
2014/02/21 职场文书
社区网格化管理实施方案
2014/03/21 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
演讲稿开场白台词
2014/08/25 职场文书
世界遗产导游词
2015/02/13 职场文书
Nginx解决前端访问资源跨域问题的方法详解
2021/03/31 Servers
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
JavaScript中MutationObServer监听DOM元素详情
2021/11/27 Javascript
docker compose 部署 golang 的 Athens 私有代理问题
2022/04/28 Servers