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 :

Sortir une variable [AJAX]


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Sortir une variable
    Bonjour,

    Ci-joint, le code :
    Code JS : 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
    var rows = 0;
    $(document).ready(function () {
       $("#MonSelect").selectmenu({
          change:function () {
             var id = $('#MonSelect').val();
             $.ajax({
                type: "POST",
                data: {"ID": id},
                url: "traitement.php",
                dataType: "json",
                success: function (data) {
                   rows = data.length;
                   $('#table_d').empty();
                   $.each(data, function (index, valeur) {
                      var input_match = $('<input>', {
                         type: 'text',
                         value: valeur.match
                      });
                      var input_val = $('<input>', {
                         type: 'text',
                         value: valeur.val
                      });
                      var row = $("<tr />");
                      $("#table_d").append(row);
                      row.append($("<td class='test'>" + input_match.val() + "</td>"));
                      row.append($("<td class='test'>" + input_val.val() + "</td>"));
                   });
                }
             });
          }
       });
    });
    console.log(rows);

    Le console.log(rows) renvoi 0 au chargement de la page, logique !
    Par contre, après le onchange sur le select, il obtient une valeur dans la fonction. Comment est-ce que je peux mettre à jour cette variable pour l'utiliser dans une autre fonction.
    L'autre fonction permet d'afficher/supprimer des lignes mais j'ai besoin du data.length de l'autre fonction pour bloquer le nombre d'ajout possible.

    Merci à vous!
    Dernière modification par andry.aime ; 24/06/2015 à 07h18.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 43
    Par défaut
    Je vois un ".selectmenu", utilises tu jQuery UI? Autrement, j'ai une méthode à te proposer pour récupérer la valeur d'une option au clic
    JSFiddle

  3. #3
    Invité
    Invité(e)
    Par défaut
    Oui j'utilise Jquery UI !

    Pour l'option click, le problème c'est que le data.lenght, je ne l'obtiens qu'après le onchange, la fonction va reçoit une valeur d'une base de données.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 43
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     success: function (data) {
                   rows = data.length;
    C'est cette ligne qui pose problème du coup? Tu cherches à affecter la .length de data à rows? essaye

    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    rows = data.toString().length;

    Sinon tu peux utiliser .done, comme ceci :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var call = $.ajax({"ton appel ajax"});
     
    call.done(function(data){
        alert(data.length);
    });

  5. #5
    Invité
    Invité(e)
    Par défaut
    Non la ligne data.length fonctionne.

    La fonction n'a aucun problème, je veux juste pouvoir ressortir la valeur de "rows" pour l'utiliser dans une autre fonction.
    Le problème, c'est que cette valeur n'existe pas au chargement de la page, c'est seulement quand on a modifié le menu déroulant que l'on obtient la valeur de rows.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 43
    Par défaut
    Je ne comprends pas. Tu veux sortir la valeur de rows? Quand tu la modifie dans la fonction, elle se met à jour dans le contexte global automatiquement... Et tu déclares rows en dehors du $(document).ready

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ODBC] Sortir une variable multi array
    Par vincent gasquy dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 16/06/2011, 18h15
  2. [MySQL] Sortir une variable de la boucle
    Par Freedolphin dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 14/01/2010, 14h52
  3. Réponses: 5
    Dernier message: 29/07/2009, 09h00
  4. Externalisation de chaine. Sortir une chaine contenant une variable ?
    Par Djobird dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 08/06/2009, 17h43
  5. Sortir une variable d'une fonction JS.
    Par xplose dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/08/2007, 09h10

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