Select All/Deselect Al

Petit nouveau ! | 3 Messages

26 mars 2010, 14:01

Bonjour,

j'ai un formulaire en php, qui contient des checkboxes, je voudrai ajouter un checkbox qui permettra de faire un Select All/Deselect All.
en fait les valeurs des checkboxes sont stocker dans tableau tab_box[].

pouvez vous me dire comment faire ?

ViPHP
ViPHP | 1136 Messages

26 mars 2010, 14:44

Slt ,

perso, je ferais avec du javascript !

Petit nouveau ! | 3 Messages

26 mars 2010, 16:09

slt,

j'ai trouver ce code :

Code : Tout sélectionner

<!-- Script by hscripts.com --> <!-- copyright of HIOX INDIA --> <!-- Free javascripts @ http://www.hscripts.com --> <script type="text/javascript"> checked=false; function checkedAll (frm1) { var aa= document.getElementById('frm1'); if (checked == false) { checked = true } else { checked = false } for (var i =0; i < aa.elements.length; i++) { aa.elements[i].checked = checked; } } </script> <!-- Script by hscripts.com -->
Avec ce ode ça marche quant on déclare les checkboxes come suit :

<form id ="frm1">
<input type="checkbox" name="chk1">
<input type="checkbox" name="chk2">
</form>

mais dans mon cas les valeurs des checkboxes sont stocker dans un tableaux :

Code : Tout sélectionner

<input type="checkbox" name="bug_arr[]" value="<?php echo "$v_id" ?>" />
comment faire pour récupérer les valeurs du tableaux ?

ViPHP
AB
ViPHP | 5818 Messages

26 mars 2010, 18:44

Ben si tu récupères un tableau il suffit de lister le tableau du post
if (isset($_POST['bug_arr'])) foreach ($_POST['bug_arr'] as $value) echo $value; 

Petit nouveau ! | 3 Messages

29 mars 2010, 12:28

Le script Java :

Code : Tout sélectionner

<script type="text/javascript" language="javascript"> function checkAll() { var i; for(i=0;i<document.frm.elements.length; i++) { var elm = document.frm.elements[i]; if(elm.type == "checkbox" && elm.name != "chkCheckAll" ) { elm.checked =document.frm.chkCheckAll.checked; } } } function check() { var i; var flag; flag=1; for(i=0;i<document.frm.elements.length; i++) { var elm = document.frm.elements[i]; if(elm.type == "checkbox" && elm.name != "chkCheckAll" ) { if(elm.checked==false) { flag=0; } } } if(flag==1) { document.frm.chkCheckAll.checked=true; } else { document.frm.chkCheckAll.checked=false; } } </script>

Le code des checkboxes :

Code : Tout sélectionner

<td align="center" bgcolor="<?php echo $status_color ?>"> <input type="checkbox" name="bug_arr[]" value="<?php echo "$v_id" ?>" onClick="Javascript:return check();" /> </td>


Le code de la checkboxe select all/none :

Code : Tout sélectionner

<td rowspan ="<?php echo $nb_ligne; ?>" align="center"> <input type="checkbox" id="chkCheckAll" name="chkCheckAll" onClick="javascript:checkAll();" > &nbsp; </td>


Merci ;)

ViPHP
AB
ViPHP | 5818 Messages

29 mars 2010, 20:43

Pour reprendre ton exemple initial, testes ce code dans une page séparée et tu comprendras mieux le fonctionnement :
<?php
if (isset($_POST['bug_arr']) && is_array($_POST['bug_arr']))
{
	foreach ($_POST['bug_arr'] as $key => $value)
	 {
		 echo 'name = '.$key.' valeur = '.$value.'<br />';
	 }
}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>test</title>
<script type="text/javascript">

checked=false;

function checkedAll (id) {
	
   var aa= document.getElementById(id);
   
    if (checked == false)
          {
           checked = true
          }
        else
          {
           checked = false
          }
   for (var i =0; i < aa.elements.length; i++)
   {
    aa.elements[i].checked = checked;
   }
      }
</script>
</head>

<body>

<form action="#" method="post" id = "frm" >
<p>
<input type="button" name="id_client" value="Sélectionnez tout"  onclick = "checkedAll('frm')" />

<input type="checkbox" name="bug_arr[]" value="1">
<input type="checkbox" name="bug_arr[]" value="10">

<input type="submit" name="Confirmer" value="submit"  />
</p>
</form>
</body>
</html>