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 :

Ajouter un élément dans le tableau en fonction d'un choix


Sujet :

jQuery

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 24
    Points : 26
    Points
    26
    Par défaut Ajouter un élément dans le tableau en fonction d'un choix
    Bonsoir,

    J'ai un problème, j'ai un script jquery qui doit m'ajouter une ligne dans le tableau en fonction du premier choix.

    http://jsfiddle.net/ANJ7n/

    Lorsque que je sélectionne "POST-tester" au lieu de "Login Module" (c'est le premier select), hé bien rien ne se passe, alors que normalement il devait remove();

    Le truc qui est bizarre c'est que si je mets "POST-tester" directement au loading, il va remove la ligne en dessus. (Donc cela prouve que mon code fonctionne)

    Le truc qui ne marche pas c'est que le fait que lorsque je change d'option, là, il fait rien, alors que normalement il doit remove().

    Merci de votre aide !

    Cordialement,

    Bonvin Maxime.

  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 : 73
    Localisation : Belgique

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

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

    Trop de choses à dire sur la conception de votre code, je vous suggère de tester et de comparer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    $( function(){ // forme abrégée de $(document).ready(function(){
     
        var jObjProduct = $( "#product" ),
            jObjProductParentTr = jObjProduct.parents( "tr" ),
            productHandler = function(){
                if ( jObjProduct.val() === "LM" ){
                    jObjProductParentTr
                        .after( '<tr>' +
                                    '<td>Where</td>' +
                                    '<td>' +
                                        '<select name="where">' +
                                            '<option value="php">on PHP file</option>' +
                                            '<option value="mfa">on MFA file</option>' +
                                            '<option value="db">on database</option>' +
                                            '<option value="dontknow">I don\'t know</option>' +
                                        '</select>' +
                                    '</td>' +
                                '</tr>' );
                }
     
                if ( jObjProduct.val() === "PT" ){
                    jObjProductParentTr
                        .next()
                        .remove();
                }
            };
     
        productHandler(); // action au démarrage
     
        jObjProduct.on( "change", productHandler ); // action lors des changements
     
    });

    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
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 24
    Points : 26
    Points
    26
    Par défaut
    Bonsoir,

    Un ptit' jour de retard, mais merci beaucoup pour cette aide précieuse.

    Sinon, étant débutant en Jquery, j'aimerai comprendre ce code, que je n'arrive pas bien a comprendre.

    Premièrement, ligne 4:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jObjProductParentTr = jObjProduct.parents( "tr" )
    ne pourrais t-on pas tout simplement faire cela ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jObjProductParentTr = $( "#product" ).parents( "tr" )
    Serais-ce faux ?

    Deuxièmement, malgré les explication souvent très compréhensible du site api.jquery.com, je n'ai pas compris cette fonction .on .

    Troisièmement, juste par curiosité, jObj = à quoi ? JqueryObjet ?

    Merci encore pour ces aides précieuse !

    Bonvin Maxime.

  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 : 73
    Localisation : Belgique

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

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

    Ce sont des règles personnelles :

    ObjQuoi : un objet JS
    jObjQuoi = un objet jQuery

    ne pourrais t-on pas tout simplement faire cela ?
    Oui, l'écriture est correcte, mais lorsqu'on utilise le même sélecteur plus d'une fois il faut le stocker, c'est beaucoup plus performant.

    on() http://danielhagnoul.developpez.com/...t/onEvent.html

    Version améliorée de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    $( function(){ // forme abrégée de $(document).ready(function(){
     
        var jObjProduct = $( "#product" ),
            jObjProductParentTr = jObjProduct.parents( "tr" ),
            jObjWhere = $( '<tr/>', {
                "html" : '<td>Where</td>' +
                         '<td>' +
                            '<select name="where">' +
                                '<option value="php">on PHP file</option>' +
                                '<option value="mfa">on MFA file</option>' +
                                '<option value="db">on database</option>' +
                                '<option value="dontknow">I don\'t know</option>' +
                            '</select>' +
                          '</td>'
            }),
            productHandler = function(){
                if ( jObjProduct.val() === "LM" ){
                    jObjProductParentTr
                        .after( jObjWhere );
                }
     
                if ( jObjProduct.val() === "PT" ){
     
                    // http://api.jquery.com/detach/
     
                    jObjWhere.detach();
                }
            };
     
        productHandler(); // au démarrage
     
        jObjProduct.on( "change", productHandler ); // pour les changements
     
    });

    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
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 24
    Points : 26
    Points
    26
    Par défaut
    Merci beaucoup de votre aide ! Ça m'a été d'un grande utilité !

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

Discussions similaires

  1. Ajouter des éléments dans un tableau
    Par Anduriel dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/07/2012, 10h55
  2. ajout d'élément dans un tableau sous IE
    Par junta13 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/07/2009, 17h45
  3. Ajout des éléments dans un tableau de structure
    Par rphenix dans le forum WinDev
    Réponses: 10
    Dernier message: 22/06/2007, 11h34
  4. [Tableaux] ajout d'éléments dans un tableau
    Par maysa dans le forum Langage
    Réponses: 7
    Dernier message: 06/11/2006, 10h09
  5. [Tableaux] ajout d'élément dans un tableau
    Par maximenet dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2006, 20h24

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