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 une valeur sans selecteur


Sujet :

jQuery

  1. #1
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut Récupérer une valeur sans selecteur
    Bonjour.

    Je vais essayer d’être clair (pas sur).

    Je développe une appli en J2E.
    Peut-être pas utile mais on sais jamais : j'utilise Struts 2 dans mes jsp.

    Dans une JSP, j'appelle plusieurs fois une même jsp avec un iterator de Struts 2 dans laquelle, j'ai un autre iterator (pourquoi faire simple ?).
    Bref, le problème n'est pas tout a fait là.

    Au final, j'ai une page HTML (coté client) qui ressemble à un truc du style :
    Code html : 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
    <div class="row">  <!-- premiére iteration -->
      <div class="col-md-4">
        <output name="result">valeur1</output>
        <output name="result">valeur2</output>
        <output name="result">valeur3</output>
        <output name="result">valeur4</output>
      </div>
      <!-- seconde iteration -->
      <div class="col-md-4">
        <output name="result">valeur5</output>
        <output name="result">valeur6</output>
        <output name="result">valeur7</output>
        <output name="result">valeur8</output>
      </div>
      <!-- troisieme iteration -->
      <div class="col-md-4">
        <output name="result">valeur9</output>
        <output name="result">valeur10</output>
        <output name="result">valeur11</output>
        <output name="result">valeur12</output>
      </div>
    </div>
    C'est simplifié mais l'idée est là.

    Les <output> pourrait très bien être des <div>, <p>, <a>, ...

    Comme ce sont des itération, je ne peut pas utiliser d'id sinon, je me retrouve avec plusieurs fois le même id dans la même page HTML.

    Mon but est de pouvoir récupérer "valeur5" (par exemple) en cliquant sur ...... <output name="result">valeur5</output> ^^.

    Mais aucune idée de comment faire. Avec un id, pas de problème mais là, je bug.

    Une idée SVP.

    Merci d'avance.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Par défaut
    je ne vois pas bien pourquoi tu ne pourrais pas générer des id mais bon, peu importe, pas besoin d'ids, Jquery offre plein de moyens

    avec Jquery tu peux sélectionner des éléments comme <output>, et leur associer un événement avec la fonction .on(), donc tu peux par exemple ajouter cela à ton html :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div>
        <span>valeur du click : </span>
        <span id="clickresult"></span>
    </div>

    et ensuite afficher dans ce bloc le résultat de tes clics :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $(
    $('output').on('click', function (){
    	$('#clickresult').text($(this).text());
    })
    );

  3. #3
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut
    Bon beh comme d'habitude, c'est quand on pause une question qu'on trouve la solution que je vous propose pour aider des personnes dans le besoin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $('a').on('click', function(){
      console.log(event.target.text);
    });
    Donc, je passe en mais si vous avez des proposition meilleure que la mienne, ne pas hésiter.

    Merci quand même aux éventuelles personnes qui on cherché pour moi.

  4. #4
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    ta réponse n'est pas tres orthodoxe, en jquery on doit utiliser la référence sur l'event appellant.

    Avec ta méthode tu peux éventuellement récupérer un évent différent dans le cas (rare mais possible) d'un conflit ou plusieurs events se chevauchent.
    voir un résultat "undefined" si lélément n'a pas de texte...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $('a').on('click', function(event){
      console.log( $(event.target).text() );
    });

  5. #5
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut
    Merci beaucoup. j'ai essayé vos codes qui ont l'air de fonctionner comme je veux.

    Après, je sais pas lequel est le meilleur


  6. #6
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    Citation Envoyé par FCL31 Voir le message
    je ne sais pas laquelle est la meilleure [méthode]
    la meilleure est toujours celle qui est la plus lisible.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $('a').on('click', function(){
      console.log( $(this).text() );
    });

  7. #7
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut
    Merci beaucoup. C'est pour cette raison que j'ai pris celle-ci ^^

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/04/2012, 13h31
  2. Récupérer une valeur sur un autre WB, sans activate.
    Par NicolasC91 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 16/05/2011, 11h06
  3. Réponses: 6
    Dernier message: 31/07/2009, 17h49
  4. Récupérer une valeur sans recharger ma page
    Par chantal6698213 dans le forum ASP
    Réponses: 7
    Dernier message: 23/09/2007, 10h14
  5. [XSL]récupérer une valeur de plusieurs fichiers XML
    Par snoop dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 05/02/2006, 00h32

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