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 :

Plusieurs select ayant la même classe


Sujet :

jQuery

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 17
    Points : 12
    Points
    12
    Par défaut Plusieurs select ayant la même classe
    Bonjour à tous,

    Je débute en JQuery et je me confronte à un problème. J'ai plusieurs select qui portent la même classe.

    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
    <td width='150px'>
    	<select name="categ[]" class="categories">
    		<option value="0">{$new.categ_id[1]}</option>
    		{foreach $new.category AS $cat}
    		<option label="{$cat.categoryName}" value="{$cat.categoryId}">&nbsp;&nbsp;{$cat.categoryName}</option>
    		{/foreach}
    	</select>
    </td>
     
     
    <td width='150px'>
    	<select name="categ[]" class="categories">
    		<option value="0">{$new.categ_id[1]}</option>
    		{foreach $new.category AS $cat}
    		<option label="{$cat.categoryName}" value="{$cat.categoryId}">&nbsp;&nbsp;{$cat.categoryName}</option>
    		{/foreach}
    	</select>
    </td>
     
    <td width='150px'>
    	<select name="categ[]" class="categories">
    		<option value="0">{$new.categ_id[1]}</option>
    		{foreach $new.category AS $cat}
    		<option label="{$cat.categoryName}" value="{$cat.categoryId}">&nbsp;&nbsp;{$cat.categoryName}</option>
    		{/foreach}
    	</select>
    </td>
    J'aimerais récupérer la valeur de chaque select pour vérifier qu'elle est bien différente de 0 mais je ne trouve pas comment récupérer la valeur de chaque select. En faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $(".categories").each(function() {      
    	if ($(".categories").val() == 0) {
    		// Do something
            }
    });
    j'obtiens la valeur uniquement du premier.

    Je me demande si ce n'est pas dû au fait que chaque select possède la même classe. Sinon comment pourrais-je faire ?

    Merci beaucoup !

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    C'est pas très logique ton code...
    Tu récupères un tableau d'éléments ayant la classe souhaitée
    Puis tu boucles sur tous ces éléments
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .each(function() {...});
    mais dans la boucle, tu ne traite pas chaque élément individuellement mais tu reprends ton tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($(".categories").val() == 0) {...}
    Sachant que les méthodes de type getter comme val() renvoient la valeur du premier élément du tableau, ça fait que tu tournes légèrement en rond...

    Voir la doc sur .each() pour traiter chaque élément individuellement...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    Bonjour Bovino,

    Effectivement, mon code n'était absolument pas logique. Je ne savais pas comment m'y prendre.

    J'ai re-regardé la doc sur .each() et j'ai finalement trouvé !

    Merci à toi pour m'avoir mis sur la piste !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/06/2013, 15h06
  2. Modifier plusieurs Div ayant la même class
    Par Seta-san dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 02/10/2010, 15h34
  3. Réponses: 4
    Dernier message: 07/07/2009, 22h56
  4. Problème pour différencier plusieurs select avec le même nom
    Par vallica dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 24/04/2006, 11h35
  5. [Applet]Utiliser plusieurs Applet dans une même classe
    Par BRAUKRIS dans le forum Applets
    Réponses: 5
    Dernier message: 11/06/2004, 15h27

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