IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Calculer un Prix Total


Sujet :

jQuery

  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut Calculer un Prix Total
    Bonjour tout le monde,

    Je recherche désespérément une solution pour mettre une sorte de ( formulaire de commande ''dynamique'') ,
    un peu comme sur ce site :http://www.nabefabric.com/product.php?id_product=91

    A part que mon site, n'est pas un site commercial, je souhaite juste que mes clients puissent calculer le prix selon une quantité...
    Simplement en choissisant la qté et le prix s'afficherait automatiquement.
    Par contre, selon les quantités le prix sera degressif ...

    Mon site : http://www.cartesremerciement-mariag...P10X15020.html

    Je vous remercie de votre aide,

    Belle journée à tous,

    Nelly

  2. #2
    Membre émérite
    Avatar de michel.di
    Homme Profil pro
    Freelance
    Inscrit en
    Juin 2009
    Messages
    782
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 782
    Par défaut
    Bonsoir,
    Tu as des petits soucis avec tes liens...

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Liens rectifiés... désolée

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Par défaut
    solution toute faite ou piste pour la développer ?

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Des pistes s'il vous plaît... Merci pour vos réponses

  6. #6
    Membre Expert
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Par défaut
    Un petit bout de javascript semble suffisant. Tu as utilisé quel outil pour developper le site ?

  7. #7
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Bonjour,

    Je pense que le code javascript du site devrai t'aider.
    Le code correspondant dans leur page est le suivant :

    Code javascript : 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
    $(function(){
    	//Auto calc price
    	$('#quantity_wanted').keyup(function(){
    		//Recalc the price
    		var discountVal = 0;
    		var finalValue = null;
    		var input = parseInt($('#quantity_wanted').val());
    		//parseInt($('#product_price').text());
    		$(quantityDiscounts).each(function(key, val){
    		var tmpQuantity = parseInt(val.quantity);
    		var tmpNextQuantity = parseInt(val.nextQuantity);
    		if(val.id_discount_type == 2)
    		{
    			if((input >= tmpQuantity && input < tmpNextQuantity)
    			|| (input >= tmpQuantity && tmpNextQuantity == -1))
    			{
    				discountVal = parseFloat(val.value);
    			}
    		}
    		});
    		finalValue = sprintf('%0.2f', input * (productPrice - discountVal));
    		if(finalValue > 0)
    		{
    			$('#product_price_container').show();
    			$('#product_price').text(finalValue+' €');
    		}
    		else
    		{
    			$('#product_price_container').hide();
    		}
    	});
    	$('#quantity_wanted').trigger('keyup');
    });

    Pour les variables utilisées, tu retrouve :
    $('#quantity_wanted') => input de saisi du nombre d'unité.
    $('#product_price_container') = > div contenant la partie total du prix.
    $('#product_price') => span affichant le prix total.


    Je pense qu'avec cela tu va pouvoir t'en sortir.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  8. #8
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Bonjour hwoarang,
    J'utilise Dreamweaver CS5

    Bonjour kolodz, Merci pour ta réponse, je fais l’essai dans l'après midi

    Merci à vous d'avoir pris le temps de me répondre, c'est très sympa

    A très vite

    Nelly

  9. #9
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Merci encore pour votre aide,
    kolodz je n'arrive pas à utiliser ton code, je dois mal m'y prendre ( Comme d'hab) je ne parviens pas à voir le résultat (normal je ne sais pas ou mettre les calculs...)

    Je suis affreusement désolée... ( )

    Et le code que tu m'as proposé :

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <script type="text/javascript">$(function(){
    	//Auto calc price
    	$('#quantity_wanted').keyup(function(){
    		//Recalc the price
    		var discountVal = 0;
    		var finalValue = null;
    		var input = parseInt($('#quantity_wanted').val());
    		//parseInt($('#product_price').text());
    		$(quantityDiscounts).each(function(key, val){
    		var tmpQuantity = parseInt(val.quantity);
    		var tmpNextQuantity = parseInt(val.nextQuantity);
    		if(val.id_discount_type == 2)
    		{
    			if((input >= tmpQuantity && input < tmpNextQuantity)
    			|| (input >= tmpQuantity && tmpNextQuantity == -1))
    			{
    				discountVal = parseFloat(val.value);
    			}
    		}
    		});
    		finalValue = sprintf('%0.2f', input * (productPrice - discountVal));
    		if(finalValue > 0)
    		{
    			$('#product_price_container').show();
    			$('#product_price').text(finalValue+' €');
    		}
    		else
    		{
    			$('#product_price_container').hide();
    		}
    	});
    	$('#quantity_wanted').trigger('keyup');
    });
    </script>
    <style type="text/css">
    #product_price_container {
    	position:absolute;
    	width:200px;
    	height:115px;
    	z-index:1;
    }
    </style>
    </head>
     
    <body><table height="53">
     <thead>
        <td> Quantité </td>
      </thead>
            <tbody>
     <tr>
      <td><input type="text" size="3" class="nombre" id="nombre1" value="0" onchange="javascript:calcul_prix();" /></td>
      </tr>
     </tbody>  
    </table>
    <div id="product_price_container"><SPAN ID="product_price"> </SPAN>  </div>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    </body>
    </html>
    Merci pour votre aide...

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Il faut que tu intègres jQuery dans ta page...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    En effet, les sélecteurs utilisé sont ceux de JQuery.
    Mais cela ne devrait pas te poser problème vue que sur ta page final tu intègre déjà cette librairie.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  12. #12
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Merci à vous deux, j'ai intégré le code à ma page,
    mais lorsqu'on y ajoute une quantité ça ne fait rien,
    comment dois-je faire ?
    Je pense ne pas avoir programmé le calcul dans le code java...
    Et le problème c'est que mon total sera variable en fonction de la quantité...

    Je vous demande encore de l'aide...

  13. #13
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    $('#quantity_wanted') => id="quantity_wanted"
    ou
    id="nombre1" = $('#nombre1')
    Pour l'identifiant cité ci-dessus, remplace par ta valeur à toi... Ou remplace l’identifiant dans ta page html

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  14. #14
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Je suis complètement pommée....
    J'ai replacé l id... Mais rien n'y fait.
    Le total ne s affiche toujours pas...
    Je dois avoir une erreur dans mon code

    ( je suis une catastrophe )
    A mon grand regret... Je crois que je vais devoir oublier cette idée de calcul dynamique ...

  15. #15
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Il ne faut pas tu es très près du but ! Poste-nous le code de ta page avec l'id remplacer. Et on va la trouver la petite erreur qui nous embête !

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  16. #16
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Re,

    J'ai corrigé les problèmes dû au variables non existantes dans la page exemple.

    Et commenté le code aussi :
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    		<title>Developpez.com : Exemple Forum</title>
    		<meta name="author" content="Patrick Kolodziejczyk">
    		<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    		<script type="text/javascript">$(function(){
    			//Ajout de l'événement sur le laché de touche
    			$('#quantity_wanted').keyup(function(){
    				// Définition du prix du produit
    				var productPrice = 45.25;
    				var finalValue = null;
    				// Récupération de la quantité de produit voulu
    				var input = parseInt($('#quantity_wanted').val());
    				// Calcul du prix
    				finalValue = input * productPrice;
    				// Si le prix est logique on l'affiche
    				// Sinon on le cache
    				if(finalValue > 0)
    				{
    					$('#product_price_container').show();
    					$('#product_price').text(finalValue+' €');
    				}
    				else
    				{
    					$('#product_price_container').hide();
    				}
    			});
    			// On déclanche l'événement un première fois
    			$('#quantity_wanted').trigger('keyup');
    		});
    		</script>
    	</head>
     
    	<body>
    			<div id="product_quantity_container">
    				Quantité : 
    				<input type="text" size="3" class="nombre" id="quantity_wanted" value="0"/>
    			</div>
    			<div id="product_price_container">
    				Prix :
    				<span ID="product_price"> </span>
    			</div>
    	</body>
    </html>
    Allez courage !

    Cordialement,
    Patrick Kolodziejczyk.
    Fichiers attachés Fichiers attachés
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  17. #17
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    De retour, un grand merci kolodz... c'est magique, je suis la plus heureuse !!!
    Je bloque la dessus depuis des semaines... Quel soulagement
    Encore merci à tout le monde, d'avoir pris le temps de me répondre, et de m'expliquer les choses...

    J'ai encore une dernière question, après j’arrête d’embêter tout le monde
    Comment peut-on intégrer un prix dégressif ?

    Merci pour tout Patrick

  18. #18
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    Comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var productPrice = 45.25;
    var finalValue = null;
    // Récupération de la quantité de produit voulu
    var input = parseInt($('#quantity_wanted').val());
    // Prix à partir de 10 articles
    if(input > 10){
    	productPrice = 10;
    }
    // Prix à partir de 50 articles
    if(input > 50){
    	productPrice = 5;
    }
    // la suite du calcule
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  19. #19
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Mille mercis !!!

  20. #20
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Bonsoir tout le monde,

    décidément, j'ai encore un problème...
    l'arrondis à deux chiffres après la virgule

    J'utilise=
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Math.round(variable*100)/100
    Mais ça ne fonctionne pas, en fait je ne sais pas ou le placer dans mon code
    J'ai essayé un peu partout, mais sans résultat

    Bonne nuit tout le monde

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Calcul de prix total
    Par edaone dans le forum Langage
    Réponses: 2
    Dernier message: 23/01/2015, 23h30
  2. Calcul prix total d'un panier
    Par kluck3000 dans le forum Langage
    Réponses: 4
    Dernier message: 22/03/2008, 18h54
  3. [MySQL] Aide envoie commande (calcul quantité + prix commande total)
    Par klue_ dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/05/2007, 11h49
  4. Calcul de prix unitaire moyen
    Par smail21 dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/11/2005, 12h10
  5. Calcul d'un total avec Rave Report
    Par webbulls dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/05/2004, 13h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo