Bonjour,
J'ai un souci avec jQuery : je fais des calculs (qté * montant) et je récupère des sous-totaux que j'affiche correctement. Mais je n'arrive pas à calculer et afficher le grand total de ces sous-totaux !
Quelqu'un a t-il une idée ?
Merci
Bonjour,
J'ai un souci avec jQuery : je fais des calculs (qté * montant) et je récupère des sous-totaux que j'affiche correctement. Mais je n'arrive pas à calculer et afficher le grand total de ces sous-totaux !
Quelqu'un a t-il une idée ?
Merci
Bonjour et bienvenue sur DVP.
Il va nous en falloir un peu plus, de code, pour pouvoir t'aider efficacement. Montre nous ce que tu as mis en place.
Les joies du CSS | Réponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
Bonjour,
Je suis novice en jQuery et je patauge. Voici mon code pour les calculs de chaque élement (qté * prix) = sous-total. J'ai 12 sous-totaux possibles (mais pas forcément tous remplis suivant ce que souhaite le visiteur). Mes sous-totaux s'affichent mais je galère pour les additionner et avoir un total général. Voici ce que j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121 // nécessite la bibliothèque JavaScript JQUERY ! $(document).ready(function () { $('select[name=selection_1]').change(compute); function compute() { var a = $('input[name=input_9]').val() || 0; var b = $('select[name=selection_1]').val() || 0; var total = (a * b); $('input[name=hidden_2]').val(total.toFixed(2)); $('span.price.total').text(total.toFixed(2) + ' '); } }) $(document).ready(function () { $('select[name=selection_2]').change(compute_1); function compute_1() { var c = $('input[name=input_10]').val() || 0; var d = $('select[name=selection_2]').val() || 0; var total = (c * d); $('input[name=hidden_3]').val(total.toFixed(2)); $('span.price.total_1').text(total.toFixed(2) + ' '); } }) $(document).ready(function () { $('select[name=selection_3]').change(compute_2); function compute_2() { var e = $('input[name=input_11]').val() || 0; var f = $('select[name=selection_3]').val() || 0; var total = (e * f); $('input[name=hidden_4]').val(total.toFixed(2)); $('span.price.total_2').text(total.toFixed(2) + ' '); } }) $(document).ready(function () { $('select[name=selection_4]').change(compute_3); function compute_3() { var g = $('input[name=input_12]').val() || 0; var h = $('select[name=selection_4]').val() || 0; var total = (g * h); $('input[name=hidden_5]').val(total.toFixed(2)); $('span.price.total_3').text(total.toFixed(2) + ' '); } }) $(document).ready(function () { $('select[name=selection_5]').change(compute_4); function compute_4() { var i = $('input[name=input_13]').val() || 0; var j = $('select[name=selection_5]').val() || 0; var total = (i * j); $('input[name=hidden_6]').val(total.toFixed(2)); $('span.price.total_4').text(total.toFixed(2) + ' '); } }) $(document).ready(function () { $('select[name=selection_6]').change(compute_5); function compute_5() { var k = $('input[name=input_14]').val() || 0; var l = $('select[name=selection_6]').val() || 0; var total = (k * l); $('input[name=hidden_7]').val(total.toFixed(2)); $('span.price.total_5').text(total.toFixed(2) + ' '); } }) $(document).ready(function () { $('select[name=selection_7]').change(compute_6); function compute_6() { var m = $('input[name=input_15]').val() || 0; var n = $('select[name=selection_7]').val() || 0; var total = (m * n); $('input[name=hidden_8]').val(total.toFixed(2)); $('span.price.total_6').text(total.toFixed(2) + ' '); } }) $(document).ready(function () { $('select[name=selection_8]').change(compute_7); function compute_7() { var p = $('input[name=input_16]').val() || 0; var q = $('select[name=selection_8]').val() || 0; var total = (p * q); $('input[name=hidden_9]').val(total.toFixed(2)); $('span.price.total_7').text(total.toFixed(2) + ' '); } }) $(document).ready(function () { $('select[name=selection_9').change(compute_8); function compute_8() { var r = $('input[name=input_17]').val() || 0; var s = $('select[name=selection_9]').val() || 0; var total = (r * s); $('input[name=hidden_10]').val(total.toFixed(2)); $('span.price.total_8').text(total.toFixed(2) + ' '); } }) $(document).ready(function () { $('select[name=selection_10').change(compute_9); function compute_9() { var t = $('input[name=input_18]').val() || 0; var u = $('select[name=selection_10]').val() || 0; var total = (t * u); $('input[name=hidden_11]').val(total.toFixed(2)); $('span.price.total_9').text(total.toFixed(2) + ' '); } }) $(document).ready(function () { $('select[name=selection_11').change(compute_10); function compute_10() { var v = $('input[name=input_19]').val() || 0; var w = $('select[name=selection_11]').val() || 0; var total = (v * w); $('input[name=hidden_12]').val(total.toFixed(2)); $('span.price.total_10').text(total.toFixed(2) + ' '); } }) $(document).ready(function () { $('select[name=selection_12').change(compute_11); function compute_11() { var x = $('input[name=input_20]').val() || 0; var y = $('select[name=selection_12]').val() || 0; var total = (x * y); $('input[name=hidden_13]').val(total.toFixed(2)); $('span.price.total_11').text(total.toFixed(2) + ' '); } })
Tout d'abord il n'est pas nécessaire de mettre plusieurs $(document).ready(function (), un seul qui englobe la totalité est suffisant.
Pour récupérer tous les sous-totaux, qui visiblement ont un nom de class qui contient total, tu peux utiliser un sélecteur « sélectif »
il suffit ensuite de boucler sur cette liste et d'en faire le « grand » total.
Code : Sélectionner tout - Visualiser dans une fenêtre à part var elemSousTotaux = $("[class*='total']");
• Category: Selectors
• Attribute Contains Selector [name*=”value”]
Les joies du CSS | Réponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
merci,
Je vais essayer cela. Dois-je laisser toutes mes fonctions compute ? J'ai remarqué que si je n'en laisse qu'une cela ralentit le script.
J'ai éliminé tous mes document ready et je n'en ai gardé qu'un. Mes sous-totaux s'affichent bien, par contre je ne vois pas où et comment intégrer mon sélecteur sélectif et faire la bloucle pour calculer le montant global.![]()
Partager