Selectionner un ensemble de checkboxes
Ce script permet de faire une checkbox qui (dé)selectionnera toutes les checkboxes d'un formulaire, ce qui est assez courant.Son petit plus est que lorsque vous sélectionnez à la main toutes les checkboxes, l'état de celle permettant de les sélectionner toutes change.
Le script à mettre dans les <header></header> de la page:
<script language="javascript">
function CheckAll(isOnload){
var trk=0;
myform = document.getElementById("testform")
for (var i=0;i<myform.elements.length;i++){
var e = myform.elements<em>;
if ((e.name != 'allbox') && (e.type=='checkbox')){
if (isOnload != 1){
trk++;
e.checked = myform.allbox.checked;
}else{
}
}
}
}
function CCheckAll(){
var TB=TO=0;
for (var i=0;i<myform.elements.length;i++){
var e = myform.elements<em>;
if ((e.name != 'allbox') && (e.type=='checkbox')){
TB++;
if (e.checked)
TO++;
}
}
if (TO==TB)
myform.allbox.checked=true;
else
myform.allbox.checked=false;
}
</script>
Et le formulaire dans la page HTML est de la forme:
function CheckAll(isOnload){
var trk=0;
myform = document.getElementById("testform")
for (var i=0;i<myform.elements.length;i++){
var e = myform.elements<em>;
if ((e.name != 'allbox') && (e.type=='checkbox')){
if (isOnload != 1){
trk++;
e.checked = myform.allbox.checked;
}else{
}
}
}
}
function CCheckAll(){
var TB=TO=0;
for (var i=0;i<myform.elements.length;i++){
var e = myform.elements<em>;
if ((e.name != 'allbox') && (e.type=='checkbox')){
TB++;
if (e.checked)
TO++;
}
}
if (TO==TB)
myform.allbox.checked=true;
else
myform.allbox.checked=false;
}
</script>
<form id="testform" action="#">
<input type="checkbox" name="allbox" onclick="CheckAll()">All<br />
<input type="checkbox" name="test1" onclick="CCheckAll()">test1<br />
<input type="checkbox" name="test2" onclick="CCheckAll()">test2<br />
<input type="checkbox" name="test3" onclick="CCheckAll()">test3<br />
<input type="checkbox" name="test4" onclick="CCheckAll()">test4<br />
</form>
<input type="checkbox" name="allbox" onclick="CheckAll()">All<br />
<input type="checkbox" name="test1" onclick="CCheckAll()">test1<br />
<input type="checkbox" name="test2" onclick="CCheckAll()">test2<br />
<input type="checkbox" name="test3" onclick="CCheckAll()">test3<br />
<input type="checkbox" name="test4" onclick="CCheckAll()">test4<br />
</form>