だから私は次のスクリプトを使用しようとしています:
//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;
}
}
したがって、最初の関数は選択できるチェックボックスの数を制限し、2 番目の関数はチェックされたセルの背景色を変更します。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>
現在、どちらも単独で完全に機能しますが、それらを組み合わせると、チェックボックスの数を制限するものだけが機能します. それらを連携させる方法はありますか?