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 相关文章推荐
JavaScript arguments 多参传值函数
Oct 24 Javascript
javascript面向对象入门基础详细介绍
Sep 05 Javascript
getComputedStyle与currentStyle获取样式(style/class)
Mar 19 Javascript
jquery固定底网站底部菜单效果
Aug 13 Javascript
JSON 数字排序多字段排序介绍
Sep 18 Javascript
JavaScript数值转换的三种方式总结
Jul 31 Javascript
JavaScript中的Math.sin()方法使用详解
Jun 15 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
Nov 04 Javascript
移动端界面的适配
Jan 11 Javascript
js 判断数据类型的几种方法
Jan 13 Javascript
vue  自定义组件实现通讯录功能
Sep 30 Javascript
express中static中间件的具体使用方法
Oct 17 Javascript
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
雄兵连三大错觉:凯莎没了,凉冰阵亡了,华烨觉得自己又行了
2020/04/09 国漫
给初学PHP的5个入手程序
2006/11/23 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
php计算指定目录下文件占用空间的方法
2015/03/13 PHP
php简单图像创建入门实例
2015/06/10 PHP
PHP静态延迟绑定和普通静态效率的对比
2017/10/20 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
常用js脚本
2006/12/03 Javascript
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
2016/12/07 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
2018/06/05 Javascript
解决element UI 自定义传参的问题
2018/08/22 Javascript
微信小程序错误this.setData报错及解决过程
2019/09/18 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
[01:51]2014DOTA2西雅图邀请赛 MVP 外卡赛black场间采访
2014/07/09 DOTA
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
Django REST Framework序列化外键获取外键的值方法
2019/07/26 Python
详解python中的数据类型和控制流
2019/08/08 Python
django删除表重建的实现方法
2019/08/28 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
对python中list的五种查找方法说明
2020/07/13 Python
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
行政部工作岗位职责范本
2014/03/05 职场文书
《放飞蜻蜓》教学反思
2014/04/27 职场文书
社区综治宣传月活动总结
2014/07/02 职场文书
2014年预备党员学习新党章思想汇报
2014/09/15 职场文书
教师自荐信范文
2015/03/06 职场文书
寻找最美乡村教师观后感
2015/06/18 职场文书
2015年小学教科研工作总结
2015/07/20 职场文书