Jquery fonction soustraction

emmmmmy Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -  
aure2015 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je reviens encore avec une question concernant Jquery.
J'ai donc effectuer un calcul et renvoyer la somme de celui-ci dans un tableau.
Celui physiquement affiché dans mon formulaire avec un total.

Mais j'ai la possibilité de supprimer l'un des éléments ce qui vient affecté mon tableau et son total.
Je dois trouver la fonction qui soustrait la valeur correspondante à mon élément dans mon total.

Voici mon code :

/////////// fonction qui ajoute mon coupon ///////////

$('#add_refund').click(function() {
            var amount = parseFloat($(this).prev().val());
            if (amount > 0.00) {
                $('#table_coupons').show();
                $('#coupons-header').show();
                $('#coupons').append(
                       getBlockValue('refunds', custom_refunds, amount)
                );
                custom_refunds++;

/////////// fonction qui ajoute la valeur de 
               mon coupon à mon total et qui l'affiche ///////////

                arrRefunds.push(amount);
                totalRefundsAmount = arrSum(arrRefunds);
                $('#js-bonus-result').html(totalRefundsAmount.toFixed(2) + '€');

/////////// fonction qui supprime mon coupon ///////////

                $('.remove-coupon').each(function () {
                    $(this).click(function () {
                        $(this).closest('tr').remove();

<bold>/////////// la fonction qui doit suprimer les valeurs
               (correspondantes à mon coupon) 
               de mon total  ///////////

                    });
                });
            }
        }); 



J'ai trouvé quelques méthodes : .pop() / .splice() / .filter() mais pas celle qui me convient réellement..


Un grand merci pour votre aide :)
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Déjà, je pense que tu peux remplacer le code :
$('.remove-coupon').each(function () {
  $(this).click(function () {
      $(this).closest('tr').remove();
  });
});

par :
$('.remove-coupon').click(function () {
  $(this).closest('tr').remove();
});



Ensuite, pour le calcul.. pourquoi ne refais tu pas simplement la somme de arrRefunds une fois la (ou les ) ligne(s) supprimées... ?
0
emmmmmy Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
Justement le .each est là pour traiter chaque coupon individuellement.
Je cherche le moyen de soustraire un coupon en fonction de sa valeur.
Toutes les solutions sont bonnes à prendre mais je ne sais pas quelle fonction utiliser.
Je vais essayer comme cela.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Justement le .each est là pour traiter chaque coupon individuellement.

Le code que je t'ai donné fait exactement la même chose que celui avec ton each...
le .each ne sert à rien.

Ensuite, au lieu de vouloir "soustraire" le montant retiré .... autant refaire le calcul complet...
0
emmmmmy Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
Il me refait le calcul avec les anciennes données.
Et ne mets pas à jour les champs.
0
emmmmmy Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
Le problème avec la fonction .remove() c'est qu'elle est censé supprimer les éléments sélectionnes et les valeurs associées. Sauf que dans mon cas, la fonction ne supprime pas les valeurs de l'input du coupon (ajoutées au champ 'total')
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Moi je découperait le code en trois ...

1 - Une fonction qui gère l'ajout de la ligne ( la tr ) dans le tableau
2 - Une fonction qui gère la suppression de la ligne
3 - Une fonction qui calcul la somme à partir des lignes du tableau.

Et lorsque tu fais un ajout ou une suppression de ligne du tableau.. tu relances la fonction de calcul...
0
aure2015 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   5
 
Salut,
Si j'ai bien compris tu dois soustraire au total la valeur du coupon supprimé?

J'ai un peu de mal à lire ton code avec les commentaires mal placé mais si tu as réussi à augmenter la valeur du total lors d'un ajout, tu dois simplement faire le contraire quand tu le supprimé, tu récupère la valeur du coupon avant de le supprimer, tu récupères également la valeur du total, tu supprimes le coupon, tu réaffectes et tu modifies la valeur du total par la soustraction des deux valeurs.
0
emmmmmy Messages postés 22 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Oui, c'est exactement ça.
Mais je ne trouve rien qui correspond à ma demande sur le net.
Sauriez-vous m'aider ?
0
aure2015 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   5
 
Puis-je voir le code html?
0