给你一个,拿去看是不是这个效果。<form name="form1" id="form1"><input type="checkbox" name="c1" onclick="sCheckbox(this)">1
<input type="checkbox" name="c1" onclick="sCheckbox(this)">2
<input type="checkbox" name="c1" onclick="sCheckbox(this)">3
<input type="checkbox" name="c1" onclick="sCheckbox(this)">4
</form><script>function sCheckbox(obj){ var sMax = 3;//设置最多可选择数,该数必须小于或等于checkbox的数量。 var c=form1.c1; var sNum = 0; for(var i=0;i<c.length;i++){if(c[i].checked){sNum++}} if(sNum >= 3){ for(var i=0;i<c.length;i++){if(! c[i].checked){c[i].disabled=true}} } else { for(var i=0;i<c.length;i++){if(c[i].disabled){c[i].disabled=false}} }}</script>
其实不用这么繁琐,用Javascrip判断一下,如果四个都选了就提示信息“您只能选择三个”,这样的话代码比较精简,而且不宜出错。
如果按你补充那么说,如果当他选择第四个的时候,前三个变灰了,第四个不能选了,他就不能再重新做决定选择了,效果不太好。