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 :

Boucle et JQuery


Sujet :

jQuery

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 258
    Points : 165
    Points
    165
    Par défaut Boucle et JQuery
    Bonjour a tous,
    Je debute en Jquery et j'ai du mal a comprendre la notion de boucle!
    J'ai un ensemble de checkbox que l'utilisateur peut cocher afin de supprimer les donnees cochées! Du coup j'aimerai recuperer leur nom, les concatener et demander a l'utilisateur si il veut les supprimer !
    Seulement j'ai un probleme avec le each !!! je n'arrive pas a lui faire retourner ce que je veux :'(:

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    msg = $("input[type=checkbox][checked]").each(function(msg) {
             return msg + $(this).attr("name");
             });
    mais ca ne marche pas !
    Quelle est la bonne methode ?
    merci
    Jerome

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 205
    Points : 285
    Points
    285
    Par défaut Recuperer des valeurs
    Ton code un est un peu confus. Mais nous allons éclaircir tout ca.

    tu utiles la variable msg a plusieurs endroits. Clairement each(function(msg) ici msg est utilise par jquery pour récupérer le nombre d'itération de ta boucle. Par conséquent il va prendre comme valeur 0,1 ....n. Conclusion tu utilises une variable qui représente 2 choses différentes

    Ensuite dans ta boucle tu effectue un return ce qui n'est pas faisable car cela doit à mon avis arrêter immédiatement le traitement.

    Enfin j'ai un doute , mais je n'en suis pas certain sur ta notation : $("input[type=checkbox][checked]")

    Au final je te proposerai un code du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function val_checkbox(){
       msg="";
       $("input[type=checkbox]:checked").each(function(x) {
             msg += $(this).attr("name");
             });
       return msg;
    }
     
    // on fait un alert pour tester
     
    alert(val_checkbox());
    Je n'ai pas testé ce code mais si cela ne marche pas dit le moi.

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 258
    Points : 165
    Points
    165
    Par défaut
    ca marche nikel
    merci :p

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    Citation Envoyé par Sourrisseau Voir le message
    Ensuite dans ta boucle tu effectue un return ce qui n'est pas faisable car cela doit à mon avis arrêter immédiatement le traitement.
    le return sort de la fonction passée en paramètre du each pas du each lui-même…
    la raison pour laquelle cela ne marche pas est que personne ne collecte les résultats…

    techniquement parlant msg += $(this).attr("name"); est la solution,
    mais esthétiquement ça va pas être très lisible…
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    String.prototype.listAppend = function(toAppend, separator)
    {
    	if (this == "")
    		return toAppend ;
     
    	return this + separator + toAppend ;
    }
    et dans le each
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
             msg = msg.listAppend( $(this).attr("name"), ", ") ;

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

Discussions similaires

  1. JQuery : boucle for
    Par lescaph dans le forum jQuery
    Réponses: 6
    Dernier message: 15/05/2012, 10h28
  2. Réponses: 2
    Dernier message: 10/11/2011, 12h01
  3. lire en boucle une animation en jquery+setInterval.
    Par mouktar dans le forum jQuery
    Réponses: 1
    Dernier message: 25/06/2011, 10h49
  4. jquery - comment faire une boucle indefini
    Par fk04 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/01/2010, 16h13
  5. Boucle recursive avec jQuery
    Par andry.aime dans le forum jQuery
    Réponses: 2
    Dernier message: 26/02/2009, 06h11

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