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 :

Remplir les options d'une liste déroulante


Sujet :

jQuery

  1. #1
    Membre éclairé Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par défaut Remplir les options d'une liste déroulante
    Bonjour,

    J'aimerais remplir une liste déroulante avec un tableau mais je bloque sans doute sur la syntaxe car je n'arrive pas boucler sur "valTd".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function createSelect(IdTab,s)
    {
    	var tab = '#'+IdTab; 
    	var valTd = [];
     
    	$(tab+" #code").each(function(){ // Je ramène les valeurs de la colonne td du tableau html
    		valTd.push($(this).html());
    	});
     
    	$(tab+' tr:eq(1)').children('th:first')
     
    		.append( '<select id='+s+'><option value=' + valTd + '>' + valTd + '</option></select>');
     
    }
    Merci pour votre aide

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Je ne comprends pas ce sélecteur : $("#" + IdTab + " #code"), car un ID doit être unique, donc logiquement #code doit suffire.

    C'est difficile sans le contexte et sans pouvoir tester. Je suggère d'essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function createSelect( IdTab, s ){
    	var valTd = [];
     
    	$( "#code" ).each( function( i, item ){ // Je ramène les valeurs de la colonne td du tableau html
    		valTd.push( '<option value="' + $( item ).text() + '">' + $( item ).text() + '</option>' );
    	});
     
    	$("#" + IdTab +' tr:eq(1)').children('th:first').append( '<select id="' +
    			s + '">' + valTd.join("") + '</select>');
    }

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre éclairé Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par défaut
    Merci ça fonctionne, à un détail près : si je ne met pas :
    ça ne boucle pas, je n'ai que la première valeur qui s'affiche pour une raison que j'ignore.

    Le but final est d'afficher un tableau html avec des select en haut de chaque colonnes.
    Le tableau sera chargé en totalité avec ajax.
    Je sais existe beaucoup de plugin pour le faire, mais c'est tellement plus facile à paramétrer et modifier quand on fait le sien.

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par arthuro45 Voir le message
    Merci ça fonctionne, à un détail près : si je ne met pas :
    ça ne boucle pas, je n'ai que la première valeur qui s'affiche pour une raison que j'ignore.
    Je soupçonne l'existence de plusieurs ID "code"

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    Membre éclairé Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par défaut
    Citation Envoyé par danielhagnoul Voir le message
    Je soupçonne l'existence de plusieurs ID "code"
    oui effectivement, dans le td j'ai mis ID au lieu de CLASS.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/11/2014, 20h58
  2. Réponses: 1
    Dernier message: 15/12/2013, 21h38
  3. Réponses: 12
    Dernier message: 02/05/2006, 19h37
  4. Tester les valeur d'une liste déroulante
    Par st0nky dans le forum Langage
    Réponses: 1
    Dernier message: 04/12/2005, 14h52

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