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 un select avec ajax


Sujet :

jQuery

  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut remplir un select avec ajax
    Bonsoir à tous, je suis entrain d'ajouter un select qui se rempli à la selection d'un autre select.
    Seulement il me retourne toujours undefine dans mon select au moment ou je choisi ma catégorie.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    jQuery("select#cat_id").change(function(){
        jQuery.get("/customer/add",{cat_id: jQuery(this).val()}, function(j){
          var options = '';
          for (var i = 0; i < j.length; i++) {
            options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
          }
          jQuery("select#sub_cat_id").html(options);
        })
      })
    Mon HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <p><label for="cat_id">Category :</label>
    <select name="cat_id" id="cat_id">
    <option value="">Selectionner catégorie</option>
    <option value="4">portorico</option>
    <option value="2">la-suite</option>
    </select>
    <select name="sub_cat_id" id="sub_cat_id">
    </select>
    </p>
    J'ai tester la requête directement dans le navigateur et pas de probléme

  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.

    optionValue ?
    optionDisplay ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $("select").change(function () {
        var str = "";
     
        $("select option:selected").each(function (i, item) {
     
            console.log(item.value + ', ' + item.text);
     
            str += $(item).text() + " ";
        });
     
        $("#affiche").text(str);
    });

    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 éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    j'ai trouvé un truc mais c'est pas très propre je trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    jQuery("select#cat_id").change(function(){
        jQuery.getJSON("/customer/json&cat_id="+ jQuery(this).val(),function(j){
          var options = '';
          for (var i = 0; i < j.length; i++) {
            options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
          }
          jQuery("#sub_cat_id").html(options);
        })
      })
    Et le résultat php retourne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{optionValue: 3, optionDisplay: "dfbgdf"}]
    Faut avouer je trouve la méthode un peu dégeu lol.
    Je vais essayer avec la vôtre

  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
    Bonsoir.

    Ce n'est pas une solution, seulement une question sur optionValue et optionDisplay ?

    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 éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    ben optionValue et optionDisplay sont en faites des paramètres ou donnée à envoyer au serveur que je récupère via json dans une boucle.
    Je peux faire un explicatif plus détaillé à l'occasion.

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

Discussions similaires

  1. [2.x] Remplir dynamiquement un champ select avec ajax
    Par paquito dans le forum Symfony
    Réponses: 11
    Dernier message: 31/01/2014, 19h20
  2. remplir une <select> avec une liste
    Par sassien dans le forum Servlets/JSP
    Réponses: 24
    Dernier message: 24/04/2008, 18h21
  3. Réponses: 14
    Dernier message: 08/04/2008, 21h05
  4. Initialisation Select avec Ajax (php)
    Par VooDooNet dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 07/08/2007, 09h45
  5. Remplir un <select> avec des années
    Par belzeluc dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/02/2007, 10h24

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