【在线等!高分求代码!】复选框选择数量问题

zuixin 2004-10-06 08:21:00
比如有40个选项(复选框),我只想浏览者选择其中的任意30个,当选够30个的时候其他的复选框变灰(disable),取消之前选择的任一个可使之前变灰的复选框激活,变得可以选择。

请教各位大侠,这个用代码如何实现?
...全文
68 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
greatlsd 2005-03-28
  • 打赏
  • 举报
回复
mark
zuixin 2004-10-06
  • 打赏
  • 举报
回复
多谢孟子大哥
孟子E章 2004-10-06
  • 打赏
  • 举报
回复
也可以这样:

<body onclick="sel()">
<script>
var j=1
function sel()
{
o=event.srcElement
if(!(o.tagName=="INPUT" && o.name=="c")) return
if(o.checked) j++
else
j--
o=document.getElementsByName("c")
if(j>3)
{
for(i=0;i<o.length;i++)
if(!o[i].checked) o[i].disabled=true
}
else
{
for(i=0;i<o.length;i++)
if(!o[i].checked) o[i].disabled=false
}
}

</script>
<input type=checkbox name=c>
<input type=checkbox name=c>
<input type=checkbox name=c>
<input type=checkbox name=c>
<input type=checkbox name=c>
<input type=checkbox name=c>
<input type=checkbox name=c>
<input type=checkbox name=c>
<input type=checkbox name=c>

孟子E章 2004-10-06
  • 打赏
  • 举报
回复
以选3个做例子,可以修改为30个


<script>
var j=1
function sel(o)
{
if(o.checked) j++
else
j--
o=document.getElementsByName("c")
if(j>3)
{
for(i=0;i<o.length;i++)
if(!o[i].checked) o[i].disabled=true
}
else
{
for(i=0;i<o.length;i++)
if(!o[i].checked) o[i].disabled=false
}
}
</script>
<input type=checkbox name=c onclick="sel(this)">
<input type=checkbox name=c onclick="sel(this)">
<input type=checkbox name=c onclick="sel(this)">
<input type=checkbox name=c onclick="sel(this)">
<input type=checkbox name=c onclick="sel(this)">
相关推荐
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2004-10-06 08:21
社区公告
暂无公告