Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/11/2011, 20h47   #1
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Par défaut Un tableau associatif avec les éléments d'une classe

Bonjour à tous,

Je voudrais créer un tableau associatif (id et valeur) avec les éléments d'une même classe. Dans cet exemple, les éléments sont des textareas dynamiques dont les id dont issus d'une BDD.

Code :
1
2
3
4
5
6
7
 
var $content = $(".uneClasse");
 
$content.each(function(i, val) {
id_area = $content[i].attr('id');
val_area = $content[i].val();
});
Mais ça fait planter Firebug. J'en déduis que $content n'est pas un tableau mais un objet. Comment procéder, alors, pour avoir un tableau associatif qui contiendrait :

id => valeur

Que je pourrais ensuite utiliser simplement avec un .each.
Merci pour vos conseils.
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2011, 21h15   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
Note que le second paramètre de .each() correspond à l'élément DOM en cours de traitement.
D'autre part, dans ton code, il n'est nulle part question d'alimenter un objet (oui, les tableaux associatifs n'existent pas en JavaScript).
Une solution serait du style :
Code :
1
2
3
4
5
6
7
var $content = $(".uneClasse"),
    result = {};
$content.each(function(i, elem) {
    elem = $(elem); // transforme elem en objet jQuery
    result[elem.attr('id')] = elem.val();
});
// Ton objet result contient maintenant les propriétés id / valeur
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/11/2011, 06h07   #3
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Merci Bovino de tes précieux conseils. C'est tout à fait ce que je cherchais.
Bonne journée à toi.
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h15.


 
 
 
 
Partenaires

Hébergement Web