JavaScript限定复选框的选择个数示例代码

 更新时间:2013年08月25日 12:21:20   作者:  
有10个复选框,用户最多只能勾选3个,否则就灰掉所有复选框,具体实现思路及代码如下,感兴趣的朋友可以参考下,希望对大家有所帮助
有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>

相关文章

  • js 删除数组的几种方法小结

    js 删除数组的几种方法小结

    本篇文章主要是对js中删除数组的几种方法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-02-02
  • JS+DIV实现鼠标划过切换层效果的方法

    JS+DIV实现鼠标划过切换层效果的方法

    这篇文章主要介绍了JS+DIV实现鼠标划过切换层效果的方法,涉及javascript鼠标事件及页面元素操作的相关技巧,需要的朋友可以参考下
    2015-05-05
  • 如何将php数组或者对象传递给javascript

    如何将php数组或者对象传递给javascript

    这篇文章主要介绍了将php数组或者对象传递给javascript的方法,需要的朋友可以参考下
    2014-03-03
  • js图片切换具体实现代码

    js图片切换具体实现代码

    这篇文章主要为大家详细介绍了js实现图片切换代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • canvas滤镜效果实现代码

    canvas滤镜效果实现代码

    这篇文章主要为大家详细介绍了canvas滤镜效果的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • 微信小程序云开发之云函数详解

    微信小程序云开发之云函数详解

    这篇文章主要介绍了微信小程序云开发之云函数的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • js+canvas实现绘制正方形并插入文字效果(居中显示)

    js+canvas实现绘制正方形并插入文字效果(居中显示)

    canvas是一个可以让我们使用脚本绘图的标签,它提供了一系列完整的属性和方法,下面这篇文章主要给大家介绍了js+canvas实现绘制正方形并插入文字居中显示效果的相关资料,需要的朋友可以参考下
    2023-11-11
  • CocosCreator Typescript制作俄罗斯方块游戏

    CocosCreator Typescript制作俄罗斯方块游戏

    目前关于cocos开发俄罗斯方块的文章几乎寥寥无几,因此本文将主要介绍如何通过CocosCreator Typescript制作简单的俄罗斯方块游戏,代码具有一定价值,感兴趣的同学可以学习一下
    2021-11-11
  • layui动态表头的实现代码

    layui动态表头的实现代码

    这篇文章主要介绍了layui动态表头的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • JS实现的简单拖拽购物车功能示例【附源码下载】

    JS实现的简单拖拽购物车功能示例【附源码下载】

    这篇文章主要介绍了JS实现的简单拖拽购物车功能,涉及javascript事件响应及页面元素动态操作相关实现技巧,并附带完整实例源码供读者下载参考,需要的朋友可以参考下
    2018-01-01

最新评论