plusieurs check_all_box dans une page php
Bonjour,
Malgré moultes recherches, je n'ai pas trouvé comment dans une page php, avoir des checkbox pour en checker d'autres.
Exemple dans un affichage sous format de tableau, le premier checkbox d'une colonne me permettrait de sélectionner tous les checkbox de la colonne en question mais pas les checkbox des autres colonnes.
Ne connaissant pas à priori le nombre de colonnes...
Je n'ai pas de problème si je me contente d'une seule liste c-à-d d'un tableau à une seule entrée. (voir les nombreux exemples sur le net)
Par avance je remercie tous ceux qui m'aideront à résoudre ce petit (pour certains mais pas pour moi) problème.
JL
plusieurs check_all_box dans une page php
J'insiste, j'en suis désolé mais je ne me suis peut-être pas bien fait comprendre :
voici une exemple de ce que je voudrais réussir à faire.
le name d'une série de checkbox est un tableau (tous[numero_de_colonne])
Le name du checkbox est un tableau de 3 colonnes (tab[numero_de_colonne]); chaque colonne comprend un nombre aléatoire d'élèments (dans mon exemple: 3 , 5 , 2)
Lorsque je coche sur la checkbox tous[1], la fonction checktous[1] est appelée et cochent tous les checkbox de la colonne 1; et inversement si je décoche tous[1] alors tous les tab[1] sont décochés.
voici le fichier php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| <?php
/*
Date de création: 28/01/2011
essai_check_all_dim2.php
*/
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
function checktous(f , colonne)
{
var ts = document.f.getElementsByName("tous");
var tb = document.f.getElementsByName("tab");
// alert(colonne);
if (ts[colonne].checked==true)
{
for (var i=0; i < tb[colonne].length; i++) //
{
tb[colonne][i].checked = true;
}
tb[colonne][0].focus();
}
else
{
for (var i=0; i < tb[colonne].length; i++)
{
tb[colonne][i].checked = false;
}
tb[colonne][0].focus();
}
}
</script>
</head>
<body>
<?php
$nbcolonnes = 3;
$tabnbelements_colonne = array(3 , 5 , 2) ;
$tabelements = array();
for ($c=0 ; $c!=$nbcolonnes ; $c++)
{
for ($e=0 ; $e!=$tabnbelements_colonne[$c] ; $e++)
{
$tabelements[$c][$e] = 2 * $c + 3 * $e * $e;
}
}
print("<form name =\"form\" action=\"lister.php\" method=\"post\" target=\"_self\" >");
print("<table><tr>");
for ($c=0 ; $c!=$nbcolonnes ; $c++)
{
print("<td valign=\"top\">");
print("<input type=\"checkbox\" name=\"tous[".$c."][]\" value=\"".$c."\" onClick=\"checktous(this.form, '$c');\">TOUS ".$c);
print("<br /><br />");
for ($e=0 ; $e!=$tabnbelements_colonne[$c] ; $e++)
{
print("<input type=\"checkbox\" name=\"tab[".$c."][]\" value=\"".$tabelements[$c][$e]."\" /> E = ".$tabelements[$c][$e]);
print("<br />");
}
}
print("</tr></table>");
print(" <input type=\"submit\" name=\"btn\" value=\"Lister\" />");
print("</form>");
?>
</body>
</html> |
Si la solution de mon probléme existe dans un forum ou une FAQ alors donnez-moi SVP l'adresse où je peux la trouver. Merci.