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笔记(一)
Nov 11 Javascript
用jquery方法操作radio使其默认选项是否
Sep 10 Javascript
浏览器缩放检测的js代码
Sep 28 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
Oct 31 Javascript
js中unicode转码方法详解
Oct 09 Javascript
javascript实现数组去重的多种方法
Mar 14 Javascript
JS基于MSClass和setInterval实现ajax定时采集信息并滚动显示的方法
Apr 18 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
May 27 Javascript
详解node如何让一个端口同时支持https与http
Jul 04 Javascript
Canvas实现微信红包照片效果
Aug 21 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
Nov 26 Javascript
vue项目中实现缓存的最佳方案详解
Jul 11 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下过滤HTML代码的函数
2007/12/10 PHP
php jquery 实现新闻标签分类与无刷新分页
2009/12/18 PHP
PHP中英混合字符串截取函数代码
2011/07/17 PHP
JavaScript实用技巧(一)
2010/08/16 Javascript
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
EasyUI在表单提交之前进行验证的实例代码
2016/06/24 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
详解VUE 数组更新
2017/12/16 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
Python网络编程详解
2017/10/31 Python
Python实现多进程的四种方式
2019/02/22 Python
关于pytorch多GPU训练实例与性能对比分析
2019/08/19 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
Python爬虫:Request Payload和Form Data的简单区别说明
2020/04/30 Python
使用CSS3编写类似iOS中的复选框及带开关的按钮
2016/04/11 HTML / CSS
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
后进生转化工作制度
2014/01/17 职场文书
教师反腐倡廉演讲稿
2014/09/03 职场文书
2014年绿化工作总结
2014/12/09 职场文书
餐饮食品安全责任书
2015/01/29 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
投诉书范文
2015/07/02 职场文书
2016基督教会圣诞节开幕词
2016/03/04 职场文书
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python
python库sklearn常用操作
2021/08/23 Python