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 :

Récupérer les valeurs d'un slider range


Sujet :

jQuery

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Récupérer les valeurs d'un slider range
    Bonjour à tous,

    je tente de faire apparaitre une valeur calculé automatiquement par rapport à 2 sliders.

    Voici mon code :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <body>
    <input type="text" id="amountA" name="amountA"/>
    <input type="text" id="amountB" name="amountB"/>
    <input type="text" id="amountC" name="amountC"/>
    <div id="sliderA"></div><br />
    <div id="sliderB"></div><br />
    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
    $(function(){
        $("#sliderA").slider({
            range: "min",
            value: 500,
            min: 500,
            max: 1000,
            step: 1,
            slide: function(event, ui) {
                $("#sliderB").slider("value", 1 + 0.38431089 * ((Math.log($("#sliderA").slider("value"))-Math.log(500))/Math.log(10)));
                updateValues();
            }
        }); 
       $("#sliderB").slider({
            range: "min",
            value: 1,
            min: 1,
            max: 1.30,
            step:0.00001,
            slide: function(event, ui) {
            	$("#sliderA").slider("value", 500* Math.exp(($("#sliderB").slider("value")-1) * 5.9914646));
                updateValues();
            }
        });
    });
    function updateValues(){
        $("#amountA").val($("#sliderA").slider("value"));
        $("#amountB").val($("#sliderB").slider("value"));
    }
    function calculmontant(){
    	var a = document.getElementById('amountA').value;
    	var b = document.getElementById('amountB').value;
    	var c = Math.round(a*b);
    	if(a=='')
        c = 0;
        if(b == '')
        c = 0;
    	document.getElementById('amountC').value = c;
    }
    La valeur calculé doit apparaitre dans l'id "amount C". Elle est égale à la valeur A * valeur B.

    Pouvez-vous me venir en aide svp ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Bonjour,

    Je ne connais pas tous les plug-ins jQuery du monde par coeur, peux-tu me dire lequel tu utilises ? Et sinon, où appelles-tu ta fonction calculMontant ?

    Sinon pour l'élément en cours de standardisation <input type="range" multiple>, c'est :
    input.value.split(',') // renvoie une Array [a,b] avec a plus petit que b
    One Web to rule them all

  3. #3
    bm
    bm est déconnecté
    Membre confirmé

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Points : 556
    Points
    556
    Billets dans le blog
    6
    Par défaut
    Val sur sélecteur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function updateValues(){
    $("#amountA").val($("#sliderA").slider("value"));
    $("#amountB").val($("#sliderB").slider("value"));
    var a = document.getElementById('amountA').value;
    var b = document.getElementById('amountB').value;
    var c = Math.round(a*b);
    $('#amountC').val(c);
    }

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    merci à vous 2 pour vos réponses,
    bm ça marche impeccable donc un gros merci!

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    que viens faire un document.getElementById dans du code jQuery ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function updateValues(){
      var a = $("#sliderA").slider("value"),
          b = $("#sliderB").slider("value"),
          c = Math.round(a*b);
      $("#amountA").val(a);
      $("#amountB").val(b);
      $('#amountC').val(c);
    }

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    merci NoSmoking, ça fonctionne très bien également!

  7. #7
    bm
    bm est déconnecté
    Membre confirmé

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Points : 556
    Points
    556
    Billets dans le blog
    6
    Par défaut
    Deux slider indépendants :

    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
    $(function(){
        $("#sliderA").slider({
            range: "min",
            value: 500,
            min: 500,
            max: 1000,
            step: 1,
            slide: function(event, ui) {
                $("#sliderA").val( "$" + ui.value );
                updateValues();
            }
        }); 
       $("#sliderB").slider({
            range: "min",
            value: 1,
            min: 1.00000,
            max: 1.30000,
            step:0.00001,
            slide: function(event, ui) {
            	$("#sliderB").val( "$" + ui.value );
            	updateValues();
            }
        });
    });

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Bonsoir,
    je reviens vers vous car je rencontre un autre problème, lié au premier.
    J'aimerais qu'en entrant directement une valeur dans mon input c, les deux sliders s'ajustent automatiquement. Faire une sorte de réciproque à mon premier code.
    Savez-vous si c'est possible ?
    Merci d'avance!

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Savez-vous si c'est possible ?
    aucune raison que cela ne fonctionne pas sauf que....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    c = a * b  // d'après la fonction updateValues
    // donc on a
    a = c / b
    b = c / a
    il va donc être difficile d'affecter des valeurs pertinentes à a et à b.

Discussions similaires

  1. DBGrid récupérer les valeurs de l'enregistrement courant
    Par bob_sapp dans le forum Bases de données
    Réponses: 5
    Dernier message: 06/09/2014, 07h56
  2. Récupérer les valeurs d'un slider range
    Par delta6 dans le forum jQuery
    Réponses: 8
    Dernier message: 24/03/2013, 11h33
  3. [MySQL] Récupérer les valeurs définies dans un champ ENUM
    Par Huntress dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 03/07/2010, 18h55
  4. [FB] récupérer les valeurs pas défaut
    Par Emmanuel Lecoester dans le forum SQL
    Réponses: 1
    Dernier message: 05/01/2005, 14h37
  5. [Couleur] Récupérer les valeurs R,V,B et L,U,V ?
    Par M4v3rick dans le forum C++Builder
    Réponses: 4
    Dernier message: 25/01/2004, 03h28

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