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 相关文章推荐
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
Jan 22 Javascript
js 获取Listbox选择的值的代码
Apr 15 Javascript
javascript 精粹笔记
May 09 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
Jun 23 Javascript
Javascript操作表单实例讲解(下)
Jun 20 Javascript
bootstrap table单元格新增行并编辑
May 19 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
Aug 29 Javascript
js中的深浅拷贝问题简析
May 10 Javascript
JS内置对象和Math对象知识点详解
Apr 03 Javascript
详细分析vue表单数据的绑定
Jul 20 Javascript
js实现随机圆与矩形功能
Oct 29 Javascript
Javascript 解构赋值详情
Nov 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
php file_get_contents函数轻松采集html数据
2010/04/22 PHP
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
PHP获取本周第一天和最后一天示例代码
2014/02/24 PHP
PHP上传文件时自动分配路径的方法
2015/01/09 PHP
对比分析php中Cookie与Session的异同
2016/02/19 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
2016/12/15 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
jquery 定位input元素的几种方法小结
2013/07/28 Javascript
正负小数点后两位浮点数实现原理及代码
2013/09/06 Javascript
JS画线(实例代码)
2013/11/20 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
2017/02/28 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/15 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
深入理解AngularJs-scope的脏检查(一)
2017/06/19 Javascript
jQuery实现简单日期格式化功能示例
2017/09/19 jQuery
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
JavaScript队列结构Queue实现过程解析
2020/03/07 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
[01:05:30]VP vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
理想高通滤波实现Python opencv示例
2019/01/30 Python
Python any()函数的使用方法
2019/10/28 Python
pytorch 限制GPU使用效率详解(计算效率)
2020/06/27 Python
LA MER海蓝之谜美国官网:传奇面霜
2016/08/27 全球购物
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
美国著名手表网站:Timepiece
2017/11/15 全球购物
潘多拉意大利官方网上商城:网上选购PANDORA珠宝
2018/10/07 全球购物
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
优秀村官事迹材料
2014/01/10 职场文书
国际商务专业职业生涯规划书范文
2014/01/17 职场文书
利用Python判断你的密码难度等级
2021/06/02 Python
Spring Cloud Gateway去掉url前缀
2021/07/15 Java/Android
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android