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 相关文章推荐
Extjs在exlipse中设置自动提示的方法
Apr 07 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
Feb 26 Javascript
JSON字符串和对象之间的转换详解
May 26 Javascript
jQuery的position()方法详解
Jul 19 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
May 09 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
Sep 20 Javascript
微信小程序加载更多 点击查看更多
Nov 29 Javascript
js判断文件类型大小并给出提示的实现方法
Jan 03 Javascript
vue源码学习之Object.defineProperty 对数组监听
May 30 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
Aug 19 Javascript
angularjs手动识别字符串中的换行符方法
Oct 02 Javascript
Javascript表单序列化原理及实现代码详解
Oct 30 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 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
phpMyadmin 用户权限中英对照
2010/04/02 PHP
php中pcntl_fork创建子进程的方法实例
2019/03/14 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
2019/10/21 PHP
你需要知道的JavsScript可以做什么?
2007/06/29 Javascript
js获取url参数的使用扩展实例
2007/12/29 Javascript
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
2009/12/28 Javascript
IE6,IE7下js动态加载图片不显示错误
2010/07/17 Javascript
js获取系统的根路径实现介绍
2013/09/08 Javascript
ubuntu下安装nodejs以及升级的办法
2015/05/08 NodeJs
JavaScript中switch语句的用法详解
2015/06/03 Javascript
JavaScript取得键盘按下方向键是哪个的方法
2015/08/04 Javascript
jquery仿百度百科底部浮动导航特效
2015/08/08 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
详解如何较好的使用js
2016/12/16 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
详解AngularJS之$window窗口对象
2018/01/17 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
在layui中layer弹出层点击事件无效的解决方法
2019/09/05 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
JS图片懒加载技术实现过程解析
2020/07/27 Javascript
一篇不错的Python入门教程
2007/02/08 Python
Python爬虫辅助利器PyQuery模块的安装使用攻略
2016/04/24 Python
图文讲解选择排序算法的原理及在Python中的实现
2016/05/04 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
2019/10/24 Python
想学画画?python满足你!
2020/12/24 Python
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
餐饮业的创业计划书范文
2013/12/26 职场文书
《诺贝尔》教学反思
2014/02/17 职场文书
保护环境建议书
2014/03/12 职场文书
谢师宴答谢词
2015/01/05 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
个人廉政承诺书
2015/04/28 职场文书
七个Python必备的GUI库
2021/04/27 Python
MySQL慢查询的坑
2021/04/28 MySQL
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript