【在线等!高分求代码!】还是复选框选择数量问题 其中n,m,k都是已知的,这个是确定的。但不是固定的值,每次都会变化。能不能给我代码? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <input name=a1 type=checkbox onclick="ch(this,4)">1<input name=a1 type=checkbox onclick="ch(this,4)">1<input name=a1 type=checkbox onclick="ch(this,4)">1<input name=a1 type=checkbox onclick="ch(this,4)">1<input name=a1 type=checkbox onclick="ch(this,4)">1<input name=a1 type=checkbox onclick="ch(this,4)">1<input name=a1 type=checkbox onclick="ch(this,4)">1<br><input name=a2 type=checkbox onclick="ch(this,2)">2<input name=a2 type=checkbox onclick="ch(this,2)">2<input name=a2 type=checkbox onclick="ch(this,2)">2<input name=a2 type=checkbox onclick="ch(this,2)">2<input name=a2 type=checkbox onclick="ch(this,2)">2<input name=a2 type=checkbox onclick="ch(this,2)">2<script>function ch(obj,k){x=1obj.checked=obj.checkedfor(i=0;i<document.getElementsByName(obj.name).length;i++){if(document.getElementsByName(obj.name)[i].checked) x++}if(x>k){for(i=0;i<document.getElementsByName(obj.name).length;i++){if(!document.getElementsByName(obj.name)[i].checked) document.getElementsByName(obj.name)[i].disabled=true}}elsefor(i=0;i<document.getElementsByName(obj.name).length;i++){if(!document.getElementsByName(obj.name)[i].checked) document.getElementsByName(obj.name)[i].disabled=false}}</script> 简化版,分组,每组k可以设定<input name=a1 type=checkbox onclick="ch(this,4)">1<input name=a1 type=checkbox onclick="ch(this,4)">1<input name=a1 type=checkbox onclick="ch(this,4)">1<input name=a1 type=checkbox onclick="ch(this,4)">1<input name=a1 type=checkbox onclick="ch(this,4)">1<input name=a1 type=checkbox onclick="ch(this,4)">1<input name=a1 type=checkbox onclick="ch(this,4)">1<br><input name=a2 type=checkbox onclick="ch(this,2)">2<input name=a2 type=checkbox onclick="ch(this,2)">2<input name=a2 type=checkbox onclick="ch(this,2)">2<input name=a2 type=checkbox onclick="ch(this,2)">2<input name=a2 type=checkbox onclick="ch(this,2)">2<input name=a2 type=checkbox onclick="ch(this,2)">2<script>function ch(obj,k){x=1obj.checked=obj.checkedfor(i=0;i<document.getElementsByName(obj.name).length;i++){if(document.getElementsByName(obj.name)[i].checked) x++}for(i=0;i<document.getElementsByName(obj.name).length;i++)if(!document.getElementsByName(obj.name)[i].checked) document.getElementsByName(obj.name)[i].disabled=(x>k)}</script> 孟子大哥,如果我想让所有选项的name都是同一个变量,又该怎么做啊? 让所有选项的name都是同一个变量,那你就不能分组了,如果分组,那样处理会比较麻烦,费力不讨好 <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><meta http-equiv="pragma" content="no-cache" /><style type="text/css"><!----></style><script language="JavaScript"><!-- function CheckIt(){ var grp=document.all[window.event.srcElement.id]; if(typeof(grp.length)!='number') return; var iTmp=0 for(var iCnt=0;iCnt<grp.length;iCnt++) if (grp[iCnt].checked) iTmp++; if(iTmp<3){ for(iCnt=0;iCnt<grp.length;iCnt++) grp[iCnt].disabled=false; return;} for(iCnt=0;iCnt<grp.length;iCnt++) if(!grp[iCnt].checked) grp[iCnt].disabled=true; }--></script><title></title></head><body>每组只能选三个<div style="border:solid 1px black;padding:10px;margin:3px;"> <input type="checkbox" id="chk0" onclick="CheckIt();" />chk0<br /> <input type="checkbox" id="chk0" onclick="CheckIt();" />chk0<br /> <input type="checkbox" id="chk0" onclick="CheckIt();" />chk0<br /> <input type="checkbox" id="chk0" onclick="CheckIt();" />chk0<br /> <input type="checkbox" id="chk0" onclick="CheckIt();" />chk0<br /><br /></div><div style="border:solid 1px black;padding:10px;margin:3px;"><input type="checkbox" id="chk2" onclick="CheckIt();" />chk2<br /><input type="checkbox" id="chk2" onclick="CheckIt();" />chk2<br /><input type="checkbox" id="chk2" onclick="CheckIt();" />chk2<br /><input type="checkbox" id="chk2" onclick="CheckIt();" />chk2<br /></div></body></html> 可是如果name不是同一个变量的话,提交的时候也会有麻烦,因为组数是动态的,也就是说name的个数是动态的,这样变量传递也不好控制啊 <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><meta http-equiv="pragma" content="no-cache" /><style type="text/css"><!----></style><script language="JavaScript"><!-- function CheckIt(){ var grp=new Array(); var grpTemp=window.event.srcElement.parentElement.childNodes; var iTmp=0; for(var iCnt=0;iCnt<grpTemp.length;iCnt++){ if(typeof(grpTemp[iCnt].tagName)=='undefined') continue; if(grpTemp[iCnt].tagName.toLowerCase()=='input' && grpTemp[iCnt].getAttribute("type").toLowerCase()=='checkbox'){ grp[iTmp]=grpTemp[iCnt]; iTmp++; } } var iTmp=0; for(var iCnt=0;iCnt<grp.length;iCnt++) if (grp[iCnt].checked) iTmp++; if(iTmp<3){ for(iCnt=0;iCnt<grp.length;iCnt++) grp[iCnt].disabled=false; return;} for(iCnt=0;iCnt<grp.length;iCnt++) if(!grp[iCnt].checked) grp[iCnt].disabled=true; }--></script><title></title></head><body>每组只能选三个<div style="border:solid 1px black;padding:10px;margin:3px;"> <input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br /> <input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br /> <input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br /> <input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br /> <input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br /><br /></div><div style="border:solid 1px black;padding:10px;margin:3px;"><input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br /><input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br /><input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br /><input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br /></div></body></html> to:eglic(圪圪)每组选几个可不可以不一样?to:孟子 大哥可是如果name不是同一个变量的话,提交的时候也会有麻烦,因为组数是动态的,也就是说name的个数是动态的,这样变量传递也不好控制啊 可以在每组的DIV里面加一个属性 maxSelect="3"在上边比较iTmp的时候if(iTmp<3){改为if(iTmp<parseInt(window.event.srcElement.parentElement.getAttribute("maxSelect"))){这样就可以了 多谢eglic(圪圪),问题终于解决! AJAX + div 动态显示后台数据 div+css+js jquery如何阻止form提交 一个菜鸟问题 关于prototype源码的问题 请教请教~~~~~~~~~~~~~~· 如何用firebug确定一个js效果是哪行代码控制的 怎么访问父窗口的控件?急,在线,100分 script标签中这种高难度的写法该咋办 为什么后台返回一个json就正常获得data,返回两个json就报错 (高难度问题)第一首歌曲播放结束,自动播放下一首? 大家帮我看哈为何textfield的事件响应函数不执行呀?
<input name=a1 type=checkbox onclick="ch(this,4)">1
<input name=a1 type=checkbox onclick="ch(this,4)">1
<input name=a1 type=checkbox onclick="ch(this,4)">1
<input name=a1 type=checkbox onclick="ch(this,4)">1
<input name=a1 type=checkbox onclick="ch(this,4)">1
<input name=a1 type=checkbox onclick="ch(this,4)">1
<br>
<input name=a2 type=checkbox onclick="ch(this,2)">2
<input name=a2 type=checkbox onclick="ch(this,2)">2
<input name=a2 type=checkbox onclick="ch(this,2)">2
<input name=a2 type=checkbox onclick="ch(this,2)">2
<input name=a2 type=checkbox onclick="ch(this,2)">2
<input name=a2 type=checkbox onclick="ch(this,2)">2
<script>
function ch(obj,k)
{
x=1
obj.checked=obj.checked
for(i=0;i<document.getElementsByName(obj.name).length;i++)
{
if(document.getElementsByName(obj.name)[i].checked) x++
}
if(x>k)
{
for(i=0;i<document.getElementsByName(obj.name).length;i++)
{
if(!document.getElementsByName(obj.name)[i].checked) document.getElementsByName(obj.name)[i].disabled=true
}
}
else
for(i=0;i<document.getElementsByName(obj.name).length;i++)
{
if(!document.getElementsByName(obj.name)[i].checked) document.getElementsByName(obj.name)[i].disabled=false
}}
</script>
<input name=a1 type=checkbox onclick="ch(this,4)">1
<input name=a1 type=checkbox onclick="ch(this,4)">1
<input name=a1 type=checkbox onclick="ch(this,4)">1
<input name=a1 type=checkbox onclick="ch(this,4)">1
<input name=a1 type=checkbox onclick="ch(this,4)">1
<input name=a1 type=checkbox onclick="ch(this,4)">1
<br>
<input name=a2 type=checkbox onclick="ch(this,2)">2
<input name=a2 type=checkbox onclick="ch(this,2)">2
<input name=a2 type=checkbox onclick="ch(this,2)">2
<input name=a2 type=checkbox onclick="ch(this,2)">2
<input name=a2 type=checkbox onclick="ch(this,2)">2
<input name=a2 type=checkbox onclick="ch(this,2)">2
<script>
function ch(obj,k)
{
x=1
obj.checked=obj.checked
for(i=0;i<document.getElementsByName(obj.name).length;i++)
{
if(document.getElementsByName(obj.name)[i].checked) x++
}
for(i=0;i<document.getElementsByName(obj.name).length;i++)
if(!document.getElementsByName(obj.name)[i].checked) document.getElementsByName(obj.name)[i].disabled=(x>k)}
</script>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="pragma" content="no-cache" />
<style type="text/css">
<!--
-->
</style>
<script language="JavaScript">
<!--
function CheckIt(){
var grp=document.all[window.event.srcElement.id];
if(typeof(grp.length)!='number') return;
var iTmp=0
for(var iCnt=0;iCnt<grp.length;iCnt++)
if (grp[iCnt].checked) iTmp++;
if(iTmp<3){
for(iCnt=0;iCnt<grp.length;iCnt++)
grp[iCnt].disabled=false;
return;}
for(iCnt=0;iCnt<grp.length;iCnt++)
if(!grp[iCnt].checked)
grp[iCnt].disabled=true;
}
-->
</script>
<title></title>
</head>
<body>
每组只能选三个
<div style="border:solid 1px black;padding:10px;margin:3px;">
<input type="checkbox" id="chk0" onclick="CheckIt();" />chk0<br />
<input type="checkbox" id="chk0" onclick="CheckIt();" />chk0<br />
<input type="checkbox" id="chk0" onclick="CheckIt();" />chk0<br />
<input type="checkbox" id="chk0" onclick="CheckIt();" />chk0<br />
<input type="checkbox" id="chk0" onclick="CheckIt();" />chk0<br /><br />
</div>
<div style="border:solid 1px black;padding:10px;margin:3px;">
<input type="checkbox" id="chk2" onclick="CheckIt();" />chk2<br />
<input type="checkbox" id="chk2" onclick="CheckIt();" />chk2<br />
<input type="checkbox" id="chk2" onclick="CheckIt();" />chk2<br />
<input type="checkbox" id="chk2" onclick="CheckIt();" />chk2<br />
</div>
</body>
</html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="pragma" content="no-cache" />
<style type="text/css">
<!--
-->
</style>
<script language="JavaScript">
<!--
function CheckIt(){
var grp=new Array();
var grpTemp=window.event.srcElement.parentElement.childNodes;
var iTmp=0;
for(var iCnt=0;iCnt<grpTemp.length;iCnt++){
if(typeof(grpTemp[iCnt].tagName)=='undefined') continue;
if(grpTemp[iCnt].tagName.toLowerCase()=='input' && grpTemp[iCnt].getAttribute("type").toLowerCase()=='checkbox'){
grp[iTmp]=grpTemp[iCnt];
iTmp++;
}
}
var iTmp=0;
for(var iCnt=0;iCnt<grp.length;iCnt++)
if (grp[iCnt].checked) iTmp++;
if(iTmp<3){
for(iCnt=0;iCnt<grp.length;iCnt++)
grp[iCnt].disabled=false;
return;}
for(iCnt=0;iCnt<grp.length;iCnt++)
if(!grp[iCnt].checked)
grp[iCnt].disabled=true;
}
-->
</script>
<title></title>
</head>
<body>
每组只能选三个
<div style="border:solid 1px black;padding:10px;margin:3px;">
<input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br />
<input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br />
<input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br />
<input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br />
<input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br /><br />
</div>
<div style="border:solid 1px black;padding:10px;margin:3px;">
<input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br />
<input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br />
<input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br />
<input type="checkbox" name="chk0" onclick="CheckIt();" />chk0<br />
</div>
</body>
</html>
每组选几个可不可以不一样?to:孟子 大哥
可是如果name不是同一个变量的话,提交的时候也会有麻烦,因为组数是动态的,也就是说name的个数是动态的,这样变量传递也不好控制啊
在上边比较iTmp的时候
if(iTmp<3){改为if(iTmp<parseInt(window.event.srcElement.parentElement.getAttribute("maxSelect"))){这样就可以了