bonjour,
j'ai plein de checkbox et je dois faire une somme a chaque fois je clique sur un checkbox cette somme change.
merci
Version imprimable
bonjour,
j'ai plein de checkbox et je dois faire une somme a chaque fois je clique sur un checkbox cette somme change.
merci
Tu veux un code tout fait ? ou tu as commencé quelque chose ? :)
j'aimerais bien avoir du code pour que je puisse m'inspirer
Mercii
Par exemple... ^^Code:
1
2
3
4
5
6
7
8 <form name="superForm"> <input type="checkbox" onclick="compter()"/> <input type="checkbox" onclick="compter()"/> <input type="checkbox" onclick="compter()"/> <input type="checkbox" onclick="compter()"/> <input type="checkbox" onclick="compter()"/> </form> <span id="affichage"></span>
Code:
1
2
3
4
5
6
7
8
9
10 function compter() { var somme = 0; var checks = document.forms["superForm"].getElementsByTagName("INPUT"); for (var i = 0, iMax = checks.length; i < iMax; ++i) { if ((checks[i].type == "checkbox") && checks[i].checked) { somme++; } } document.getElementById("affichage").innerHTML = somme; }
Mercii
mon probleme mnt c'est une estimation d'heure que je recupere de ma base de données et je veux recuperer cette estimation en appuyant sur la checkbox.
Merci
Mmouaaais.... :?
Tu vas demander les trucs au compte-gouttes, le plus vaguement possible, sans jamais sortir une ligne de code ?
On veut bien aider, mais là.... :calim2:
... fais un effort, stp :? (commence par faire des recherches sur les forums/FAQ/tutos concernés, détaille un peu ton problème quand tu décris, montre-nous les extraits de code correspondant à ton existant actuel qui ne fonctionne pas encore, etc.)
... et tout ira bien :mrgreen:
voila c'est ce que j'ai pour l'instant et je veux faire la somme a chaque fois je clique sur un checkbox qui renvoi la valeur à partir de la base de donnéesCode:
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 //$titre_precedent=""; // requete pour recupérer les libellés des essais présents dans la base // $db = mysql_connect($serveur, $user, $passbdd); // mysql_select_db($bdd,$db); $db = mysql_connect('127.0.0.1',"root", ""); mysql_select_db("caracterisation",$db) ; // on crée la requête SQL $sql = "SELECT id_essai,estimation,lib_essai,titre,url FROM essai WHERE id_type='$id_type'"; // $sql2 = "SELECT id_essai FROM essai "; // on envoie la requête $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // $req2 = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $i=0; while ($row = mysql_fetch_assoc ($req)) // while($row =mysql_fetch_assoc($req2)) // { { /* // Ecrit un titre pour separer les differents essais (inutile pour la maj 2008) $titre=$row ["titre"]; if($titre!=$titre_precedent && $titre!="" ) { echo '<br><TABLE cellSpacing=0 cellPadding=0 border=0> <TBODY> <TR><TD width=30></TD><TD width=150 class="sous_titre_souligne">';echo "$titre : </TD></TR></TBODY> </TABLE>"; $titre_precedent=$titre; } */ echo '<TABLE cellSpacing=0 cellPadding=0 border=0> <TBODY><TR><TD width=10> </TD>'; $lib_essai="essai"."$i"; $id_essai = $row['id_essai']; // $test =$row ['id_essai']; $estim=$row['estimation']; $res=$nb_produits*$estim; echo '<TD><input onclick="compter();" type="checkbox" id="essai'.$i.'" name="essai[]"" value='.$id_essai.' > '; echo $row ["lib_essai"]; echo ". Estimé à : "; echo'<span class="etoile_rouge">'; echo$row ["estimation"];echo"h ";echo"</span>"; echo" Total d'heures :"; echo'<span class="etoile_rouge">';echo $res;echo"h ";echo"</span>"; // if ($id_essai==1){ // echo" 3h "; // } // else if ($id_essai==24){ // echo " 2h";} // else { echo " 1h";} // } echo ' </TD></TBODY> </TABLE>'; $i=$i+1; }//while <span id="affichage"></span> <script language="javascript"> function compter() { var somme = 0; var checks = document.forms["Formulaire"].getElementsByTagName("INPUT"); for (var i = 0, iMax = checks.length; i < iMax; ++i) { if ((checks[i].type == "checkbox") && checks[i].checked) { somme++; } } document.getElementById("affichage").innerHTML = somme; } </script>
Merci
A chaque click tu veux aller chercher la valeur correspondante en base de données ?
Si c'est ça, il te faut utiliser de l'ajax.
Bonjour,
à part le fait que tu maitrises le copier/colller, on ne voit pas d'évolution depuis l'intervention de RomainVALERI :mouarf:Citation:
voila c'est ce que j'ai pour l'instant et je veux faire la somme a chaque fois je clique sur un checkbox qui renvoi la valeur à partir de la base de données
Merci
NoSmoking, l'homme à la réplique cinglante :mouarf:
@Cooper : note que les input, même de type checkbox, peuvent avoir un attribut value. Si tu peux, au chargement de la page, remplir tous les attributs value à partir de la BDD, tu n'auras pas besoin d'utiliser Ajax.
Ça donnerait un truc dans le style de celui de RomainVALERI :
Code:
1
2
3
4
5
6
7
8 <form name="superForm"> <input type="checkbox" onclick="compter()" value="42" /> <input type="checkbox" onclick="compter()" value="2" /> <input type="checkbox" onclick="compter()" value="51" /> <input type="checkbox" onclick="compter()" value="69" /> <input type="checkbox" onclick="compter()" value="9000" /> </form> <span id="affichage"></span>
Code:
1
2
3
4
5
6
7
8
9
10 function compter() { var somme = 0; var checks = document.forms["superForm"].getElementsByTagName("INPUT"); for (var i = 0, iMax = checks.length; i < iMax; ++i) { if ((checks[i].type == "checkbox") && checks[i].checked) { somme += 1 * checks[i].value; } } document.getElementById("affichage").innerHTML = somme; }
;)
En même temps je disais ça comme ça hein, j'ai juste trouvé ça marrant… :lol:
Merci bq Watilin c Resolu