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 :

Initialisation dynamique d'une balise <select>


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 122
    Par défaut Initialisation dynamique d'une balise <select>
    Bonjour,
    Développant ma première application avec jQuery, je ne parviens pas initialiser une balise <select> suite à une requête Ajax.
    Le code HTML :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <select name="users">
        <option></option>
    </select>
    Suite à un appel Ajax, je récupère un fichier Json :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     xhr = {"resultat":{"nbitems":5,"items":["ZZZ","AAA","BBB","WWW","CCC"]},"error":null,"exception":null}
    L'item résultat est transmis à la fonction d'initialisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    setSelectValues = function(/*String*/ res) {
        var nbitems = res.nbitems;
        console.log("_nbitems=" + nbitems);
        var selecteur = $("name[value='users']");   // acces à la balise avec jQuery
        var tab = res.items;
        console.log("avant boucle for : TAB = " + tab);
        for(i=0; i<nbitems; i++) {
            console.log("_tableau_element = " + tab[i]);
            selecteur.options[i] = new Option(tab[i]);
        }
    }
    Avec ce code javascript, je ne passe qu'une fois dans la boucle for avec la valeur "ZZZ" et il n'y a aucune action au niveau de l'affichage du selecteur.
    Je ne vois que 2 possibilités, je n'obtiens pas une référence correcte sur la balise par l'intermédiaire de jQuery, ou je ne manipule pas correctement les données de la balise. Merci pour vos éclaircissements.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 122
    Par défaut
    Celà fonctionne, j'apprécie cette écriture condensée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       $("#users").append( $('<option/>').html(elt))
    Donc la solution "repackagée" dans mon application :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            <select id="users">
            </select>
    et la fonction javacript traitant le résultat Json
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        setSelectValues = function(/*String*/ res) {
            $.each(res.items, function(idx,elt){
                    console.log(idx +"=>" + elt);
                    $("#users").append( $('<option/>').html(elt))
                })
        }
    il me reste des progrès à faire dans l'utilisation de jQuery
    Merci au président du CCMPTP

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

Discussions similaires

  1. Target dynamique dans une balise <a></a>
    Par 1ereClasseTac dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 29/10/2009, 12h21
  2. dimensions dynamique pour une balise Object
    Par kioka dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 09/10/2009, 12h07
  3. Mise à jour dynamique d'une balise <a>
    Par Nexussmb dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/09/2009, 14h40
  4. Bug IE6 -> Balise <div> dynamique devant une balise <select>
    Par jep33 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/06/2009, 09h33
  5. Réponses: 4
    Dernier message: 18/11/2003, 16h08

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