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中获取元素索引的函数
Sep 10 Javascript
iframe 异步加载技术及性能分析
Jul 19 Javascript
Ubuntu 11.10 安装Node.js的方法
Nov 30 Javascript
javascript测试题练习代码
Oct 10 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
May 07 Javascript
解析页面加载与js函数的执行 onload or ready
Dec 12 Javascript
js采用map取到id集合组并且实现点击一行选中一行
Dec 16 Javascript
使用Bootstrap Tabs选项卡Ajax加载数据实现
Dec 23 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
Feb 12 Javascript
Vue动态组件实例解析
Aug 20 Javascript
JS动态修改网页body的背景色实例代码
Oct 07 Javascript
Vue 组件的挂载与父子组件的传值实例
Sep 02 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四种基础算法代码实例
2013/10/29 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
Aster vs Newbee BO5 第二场2.19
2021/03/10 DOTA
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
浅谈JavaScript 框架分类
2014/11/10 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
解决JS外部文件中文注释出现乱码问题
2017/07/09 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
详解使用JWT实现单点登录(完全跨域方案)
2019/08/02 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
[43:24]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS Liquid
2018/03/30 DOTA
Python urlopen 使用小示例
2008/09/06 Python
python读取与写入csv格式文件的示例代码
2017/12/16 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
python爬取淘宝商品销量信息
2018/11/16 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
详解Python3中的 input() 函数
2020/03/18 Python
python 获取剪切板内容的两种方法
2020/11/28 Python
pip install命令安装扩展库整理
2021/03/02 Python
The Hut德国站点:时装、家居用品、美容等
2016/09/23 全球购物
世界上最大的汽车共享网站:Zipcar
2017/01/14 全球购物
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
SQL Server面试题
2016/10/17 面试题
十月份红领巾广播稿
2014/01/22 职场文书
给小学生的新年寄语
2014/04/04 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
刑事辩护词范文
2015/05/21 职场文书
2016年领导干部廉政承诺书
2016/03/24 职场文书
创业计划书之水果店
2019/07/18 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis
MySQL远程无法连接的一些常见原因总结
2022/09/23 MySQL
ubuntu20.04虚拟机无法上网的问题及解决
2022/12/24 Servers