le total de ma boucle est mauvais
Posté : 13 janv. 2022, 13:30
bonjour a tous
j'ai trouve sur le net un code pour un panier un javascript que je modifie et il me reste une dernière chose que je n arrive pas a solutionner
je souhaiterais connaître la quantité d 'article dans mon panier , pas de référence
le seul bon résultat que j'ai obtenu c'est le résultat de la ligne précédente a chaque fois que j ajoute une nouvelle référence
donc si j ajoute la référence 01 et la quantité 10 le résultat est 0
si j'ajoute la référence 02 et la quantité 15 le résultat est de 15
si j ajoute la référence 03 et la quantité a 5 le résultat est 25
si j'ajoute la référence 04 et la quantité a 30 le résultat est 30
donc il y a une erreur dans la boucle
voici l extrait la ou cela ce passe
si vous pourriez m'aider cela serait génial
j'ai trouve sur le net un code pour un panier un javascript que je modifie et il me reste une dernière chose que je n arrive pas a solutionner
je souhaiterais connaître la quantité d 'article dans mon panier , pas de référence
le seul bon résultat que j'ai obtenu c'est le résultat de la ligne précédente a chaque fois que j ajoute une nouvelle référence
donc si j ajoute la référence 01 et la quantité 10 le résultat est 0
si j'ajoute la référence 02 et la quantité 15 le résultat est de 15
si j ajoute la référence 03 et la quantité a 5 le résultat est 25
si j'ajoute la référence 04 et la quantité a 30 le résultat est 30
donc il y a une erreur dans la boucle
voici l extrait la ou cela ce passe
si vous pourriez m'aider cela serait génial
Code : Tout sélectionner
function afficherpanier() {
var panierArray = MonPanier.listpanier();
var output = "";
var countart=0;
var count=0;
for(var i in panierArray) {
output += "<div class='row' style='border-style: ridge; border-width: 1px; border-color: #8ebf42; background-color: #d9d9d9;margin-bottom:5px;'>"
+ "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].nom + "</div>"
+ "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>(" + panierArray[i].prix.toFixed(0) + ")</div>"
+ "<div class='form-inline col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'><div class='input-group'><button class='btn btn-primary moins-item' data-nom='" + panierArray[i].nom + "'>-</button>"
+ "<input type='number' min='1' class='form-control item-quantite' style='width:55px !important' data-nom='" + panierArray[i].nom + "' value='" + panierArray[i].quantite + "'>"
+ "<button class='btn btn-primary plus-item' data-nom='" + panierArray[i].nom + "'>+</button></div></div>"
+ "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'><button class='btn btn-danger effacer-item' data-nom='" + panierArray[i].nom + "'>X</button></div>"
//+ ' = '
+ "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + panierArray[i].total + " euros</div>"
+ "<div class='col' style='text-align: center;border-left: solid;padding-left: 5px;padding-right: 5px;'>" + countart + " articles</div>"
+ "</div>";
count++;
countart += panierArray[i].quantite; // somme des unités d'articles
console.log(countart );
console.log(panierArray[i].quantite );
const total = panierArray.reduce((acc,val) => acc + val.quantite, 0);
console.log(total );
}
$('.show-panier').html(output);