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 动态添加按钮实现代码
May 06 Javascript
javascript nextSibling 与 getNextElement(node) 使用介绍
Oct 13 Javascript
JavaScript的递归之递归与循环示例介绍
Aug 05 Javascript
jquery 页面滚动到底部自动加载插件集合
Jan 31 Javascript
jquery等待效果示例
May 01 Javascript
基于JavaScript实现回到页面顶部动画代码
May 24 Javascript
JavaScript学习笔记整理_setTimeout的应用
Sep 19 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
Apr 13 Javascript
jQuery判断自定义属性data-val用法示例
Jan 07 jQuery
node Buffer缓存区常见操作示例
May 04 Javascript
详解vue中使用protobuf踩坑记
May 07 Javascript
详解JVM系列之内存模型
Jun 10 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检测用户是否用手机(Mobile)访问网站的类
2014/01/09 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
ThinkPHP3.2.3实现分页的方法详解
2016/06/03 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
2020/01/26 PHP
在js中使用&quot;with&quot;语句中跨frame的变量引用问题
2007/03/08 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
jQuery基于扩展简单实现倒计时功能的方法
2016/05/14 Javascript
理解javascript async的用法
2017/08/22 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
vue自定义全局组件(自定义插件)的用法
2018/01/30 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
node实现mock-plugin中间件的方法
2019/12/25 Javascript
Javascript执行流程细节原理解析
2020/05/14 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
2020/11/09 Javascript
python定时器使用示例分享
2014/02/16 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
Python自动化完成tb喵币任务的操作方法
2019/10/30 Python
为什么说python适合写爬虫
2020/06/11 Python
Python多分支if语句的使用
2020/09/03 Python
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
新西兰最大、占有率最高的综合性药房:PharmacyDirect药房中文网
2020/11/03 全球购物
总监职责范文
2013/11/09 职场文书
职业女性的职业规划
2014/03/04 职场文书
小学生演讲稿大全
2014/04/25 职场文书
捐书活动总结
2014/05/04 职场文书
物业项目经理岗位职责
2015/04/01 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
vue实现滑动解锁功能
2022/03/03 Vue.js
Python 匹配文本并在其上一行追加文本
2022/05/11 Python