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

JavaScript Discussion :

Variable js dans ma vue


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 27
    Points : 27
    Points
    27
    Par défaut Variable js dans ma vue
    Bonsoir à tous,

    Je suis débutant JS et j'ai une petite question. Je dois remplir un tableau avec chaque ligne correspondant à un étudiant en inscrivant : son nom, son prenom et sa date de naissance. Ainsi qu'un petit icone permettant de cliquer sur cet étudiant (grâce à la route get_student_last_years)

    Voici ma boucle for parcourant tout mon tableau d'étudiants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for(var etudiant in data)
    {
                html += '<tr><td><a href=\'{{ path("get_student_last_years", { id : ' + XXXXXXXX + ' }) }}\'> <i class="glyphicon glyphicon-arrow-right"> </i> </a></td><td>' + data[etudiant][0].listEtudiantInformations[0].etudiantInformations.nom + '</td><td>' + data[etudiant][0].listEtudiantInformations[0].etudiantInformations.prenom + '</td><td>' +  data[etudiant][0].dateNaissance.date.format('yyyy') + '</td></tr>';
    }
    Mon problème vient de ma variable 'XXXXXX', je souhaite mettre l'id de l'étudiant à la place. J'ai donc tenter de placer data[etudiant][0].id cependant me permettant de faire ressortir l'id de l'étudiant. Or, lorsque je vais sur mon navigateur, le lien sur l'étudiant est : "/getStudentLastYears?id=%2Bdata%5Betudiant%5D%5B0%5D.id%2B".

    Si je fais cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(var etudiant in data)
    {
        var id = data[etudiant][0].id;
        console.log(id);
    }
    Mon id correspond bien à l'id de l'étudiant..

    Auriez-vous une solution? Merci beaucoup

  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
    En URL décodée ça fait : "/getStudentLastYears?id=+data[etudiant][0].id+"

    Il y a des moustaches {{ }} donc j'imagine que tu utilises une solution de templating. Ma première question est donc de savoir quelle est cette solution, ça peut être utile de le savoir. La seconde question étant, si tu utilises du templating, pourquoi construire manuellement du HTML en JS ? La troisième question étant, si tu construis manuellement le HTML en JS, pourquoi vouloir quand même mettre une syntaxe moustache à l'intérieur au lieu d'appeler manuellement la fonction path ?

    En supposant que ta fonction path est accessible depuis ce code, ça donnerait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for(var etudiant in data)
    {
                html += '<tr><td><a href="' + path("get_student_last_years", { id : data[etudiant][0].id }) +
                            '"> <i class="glyphicon glyphicon-arrow-right"> </i> </a></td><td>' + 
                            data[etudiant][0].listEtudiantInformations[0].etudiantInformations.nom + '</td><td>' + 
    			data[etudiant][0].listEtudiantInformations[0].etudiantInformations.prenom + '</td><td>' +
    			data[etudiant][0].dateNaissance.date.format('yyyy') + '</td></tr>';
    }
    Le templating servant précisément à éviter ce genre de code horrible où on s'embrouille avec les guillemets et les éléments, je ne peux que t'encourager à t'en servir plutôt que de manipuler le HTML en JS.
    One Web to rule them all

Discussions similaires

  1. variable de configuration inconnue dans les vues
    Par basket dans le forum Langage
    Réponses: 2
    Dernier message: 09/01/2010, 15h49
  2. Réponses: 4
    Dernier message: 25/11/2007, 21h12
  3. mailto et variable à interpreter dans une vue
    Par gobgob dans le forum Ruby on Rails
    Réponses: 3
    Dernier message: 07/08/2007, 09h29
  4. Ecrire du texte depuis une variable dans une vue
    Par Vlad_Oliv dans le forum MFC
    Réponses: 1
    Dernier message: 09/01/2007, 17h28
  5. [Oracle 9] variable hôte dans une vue
    Par doukem dans le forum Oracle
    Réponses: 1
    Dernier message: 08/11/2006, 16h26

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