JavaScript限定复选框的选择个数示例代码


Posted in Javascript onAugust 25, 2013

有10个复选框,用户最多只能勾选3个,否则就灰掉所有复选框。
(用户再次勾掉复选框时,仍然可以再次选择。)
将可变的部分设置为JS的参数,以实现代码复用。

JS代码
第一个参数为复选框的name,第二个参数为最多允许的勾选值。

function choicetest(name,num){ 
var choicearr = document.getElementsByName(name); 
var a=0; 
for(var i=0;i<choicearr.length;i++) 
if(choicearr[i].checked){ 
a=a+1; 
} 
if(a==num){ 
for(var i=0;i<choicearr.length;i++) 
if(!choicearr[i].checked) 
choicearr[i].disabled='disabled'; 
}else{ 
for(var i=0;i<choicearr.length;i++) 
choicearr[i].removeAttribute('disabled'); 
} 
}

范例程序
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>无标题文档</title> 
</head> 
<script language="javascript"> 
function choicetest(name,num){ 
var choicearr = document.getElementsByName(name); 
var a=0; 
for(var i=0;i<choicearr.length;i++) 
if(choicearr[i].checked){ 
a=a+1; 
} 
if(a==num){ 
for(var i=0;i<choicearr.length;i++) 
if(!choicearr[i].checked) 
choicearr[i].disabled='disabled'; 
}else{ 
for(var i=0;i<choicearr.length;i++) 
choicearr[i].removeAttribute('disabled'); 
} 
} 
</script> 
<body > 
<div width="513" onclick="choicetest('choice',3)" > 
<label><input type="checkbox" name="choice" id="choice" width="30px;"/></label>选择1 
<label><input type="checkbox" name="choice" id="choice" width="30px;"/></label>选择2 
<label><input type="checkbox" name="choice" id="choice" width="30px;"/></label>选择3 
<label><input type="checkbox" name="choice" id="choice" width="30px;"/></label>选择4 
<label><input type="checkbox" name="choice" id="choice" width="30px;"/></label>选择5 
<p></p> 
<label><input type="checkbox" name="choice" id="choice" width="30px;"/></label>选择6 
<label><input type="checkbox" name="choice" id="choice" width="30px;"/></label>选择7 
<label><input type="checkbox" name="choice" id="choice" width="30px;"/></label>选择8 
<label><input type="checkbox" name="choice" id="choice" width="30px;"/></label>选择9 
<label><input type="checkbox" name="choice" id="choice" width="30px;"/></label>选择10 
</div> 
</body> 
</html>
Javascript 相关文章推荐
prototype Element学习笔记(Element篇三)
Oct 26 Javascript
Jquery公告滚动+AJAX后台得到数据
Apr 14 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
May 09 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
Mar 14 Javascript
九种原生js动画效果
Nov 11 Javascript
快速使用Bootstrap搭建传送带
May 06 Javascript
jQuery实现的放大镜效果示例
Sep 13 Javascript
vue.js指令v-for使用及索引获取
Nov 03 Javascript
微信小程序 slider的简单实例
Apr 19 Javascript
JS中promise化微信小程序api
Apr 12 Javascript
element中table高度自适应的实现
Oct 21 Javascript
Vue包大小优化的实现(从1.72M到94K)
Feb 18 Vue.js
jquery中加载图片自适应大小主要实现代码
Aug 23 #Javascript
jquery eval解析JSON中的注意点介绍
Aug 23 #Javascript
jQuery中RadioButtonList的功能及用法实例介绍
Aug 23 #Javascript
使用jQuery插件创建常规模态窗口登陆效果
Aug 23 #Javascript
Jquery绑定事件(bind和live的区别介绍)
Aug 23 #Javascript
鼠标移到导航当前位置的LI变色处于选中状态
Aug 23 #Javascript
高效率JavaScript编写技巧整理
Aug 23 #Javascript
You might like
用缓存实现静态页面的测试
2006/12/06 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
2011/04/07 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
js获取url参数的使用扩展实例
2007/12/29 Javascript
javascript笔试题目附答案@20081025_jb51.net
2008/10/26 Javascript
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
JavaScript获取两个数组交集的方法
2015/06/09 Javascript
浅谈window对象的scrollBy()方法
2015/07/15 Javascript
js实现获取当前时间是本月第几周的方法
2015/08/11 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
一个简单不报错的summernote 图片上传案例
2016/07/11 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
全选复选框JavaScript编写小结(附代码)
2017/08/16 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
详谈Object.defineProperty 及实现数据双向绑定
2020/07/18 Javascript
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
TripAdvisor西班牙官方网站:全球领先的旅游网站
2018/01/10 全球购物
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
康拓普公司Java笔面试
2016/09/23 面试题
办理暂住证介绍信
2014/01/11 职场文书
移风易俗倡议书
2014/04/15 职场文书
奠基仪式策划方案
2014/05/15 职场文书
优秀党支部书记事迹材料
2014/05/29 职场文书
学校师德师风整改方案
2014/10/28 职场文书
学生检讨书范文
2015/01/27 职场文书
2015年导购员工作总结
2015/04/25 职场文书
Python还能这么玩之用Python修改了班花的开机密码
2021/06/04 Python