所以我正在尝试使用以下脚本:
//Limit of checked checkboxes
function checkboxlimit(checkgroup, limit){
var checkgroup=checkgroup
var limit=limit
for (var i=0; i<checkgroup.length; i++){
checkgroup[i].onclick=function(){
var checkedcount=0
for (var i=0; i<checkgroup.length; i++)
checkedcount+=(checkgroup[i].checked)? 1 : 0
if (checkedcount>limit){
alert("You can only select a maximum of "+limit+" checkboxes")
this.checked=false
}
}
}
}
//change bg color if checked
var seleccionado=new Array()
function cambia(fila){
if(seleccionado[fila]!=true)
{
document.getElementById("fila"+fila).style.background='#A5FA9B';
document.getElementById("fila"+fila).style.color='#FFFFFF';
seleccionado[fila]=true;
}
else
{
document.getElementById("fila"+fila).style.background='#FFF3D6';
document.getElementById("fila"+fila).style.color='#000000';
seleccionado[fila]=false;
}
}
因此,第一个函数将限制您可以选择的复选框数量,第二个函数将在选中后更改单元格背景的颜色。HTML 将类似于:
<form id="main" name="main" method="POST">
<font face="verdana">
<table>
<tr >
<td id="fila1">FIRST<input name="ckb" onclick="cambia(1)" type="checkbox"/></td>
<td id="fila2">SECOND<input name="ckb" onclick="cambia(2)" type="checkbox"/></td>
<td id="fila3">THIRD<input name="ckb" onclick="cambia(3)" type="checkbox"/></td>
</table>
</font>
</form>
最后必须添加下一个脚本:
<script type="text/javascript">
checkboxlimit(document.forms.main.ckb, 1);
</script>
现在,它们都可以完美地单独工作,但是当我将它们组合在一起时,只有一个限制复选框数量的工作。有没有办法让它们一起工作?