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 ajout d'options


Sujet :

jQuery

  1. #1
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 106
    Points
    3 106
    Par défaut boucle et ajout d'options
    Bonjour,

    je suis en train de m'arracher les cheveux sur une chose qui me paraît pourtant simple : ajouter dynamiquement des options à une dropdownlist (asp.net) via JQuery.

    Je fais la chose suivante :
    - récupéation via "$.ajax" d'une liste d'objets contenant une seule propriété : Designation.
    - je veux ajouter ces "Designation" comme option d'une dropdownlist

    Si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (var i = 0; i < colours.length; i++) {
            var val = colours[i];
            var text = colours[i];
            $('#ddlColour').addOption(val, text, false);
          }
    Firebug me dit "AddOption" n'est pas une fonction...

    J'ai essayé plusieurs choses dont :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $.each(colours, function (key, value) {
                             $('#ddlColour').append($("<option/>", {
                                 value: key,
                                 text: value
                             }));
                         });
    mais là j'ai des item "object OBJECT" dans ma liste déroulante.

    Quelle est la meilleure manière de procéder ?
    Que représentent "key" et "value" dans la fonction ?

    D'avance merci pour votre aide.

  2. #2
    Membre émérite
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Points : 2 778
    Points
    2 778
    Par défaut
    Pas sûr que addOption existe en jQuery !
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $.each(coulours, function (key, value) {
        $('#ddlColour').append($('<option>', { 
            value: value,
            text : value 
        }));
    });
    key étant l'indice du tableau

    En pur Javascript, cela donne un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var options = document.getElementById('ddlColour').options;
    for (var i=0; i < coulours.length; i++)
      options[options.length] = new Option(coulours[i], coulours[i]);

  3. #3
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 106
    Points
    3 106
    Par défaut
    Je m'en suis sorti de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var select = $("#ddlColour");
    select.children().remove();                     
    $(secteurs).each(function (index, item) {
        select.append($("<option>").val(item.Designation).text(item.Designation));
    });
    où désignation est le libellé de la couleur.

    Merci pour la proposition et l'explication

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

Discussions similaires

  1. ajout case option dans groupe option
    Par Pierren dans le forum Access
    Réponses: 2
    Dernier message: 06/10/2006, 19h25
  2. Réponses: 6
    Dernier message: 22/09/2006, 10h01
  3. Ajouter une option
    Par Anduriel dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/07/2006, 00h07
  4. [PHP-JS] ajout d'options dans une liste deroulante
    Par moonia dans le forum Langage
    Réponses: 10
    Dernier message: 04/05/2006, 11h18
  5. [Plugin] Ajouter une option au menu contextuel ?
    Par relivio dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 22/03/2004, 16h18

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