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 :

Acceder a un objet ajouter avec la methode before()


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Par défaut Acceder a un objet ajouter avec la methode before()
    Bonjour,

    voici quel est mon problème.

    j'ajoute dans ma page avec la methode before() une ligne dans un tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $('#imgajoutagent').dblclick(function(){
         if ($('#trajout').length){
    	$('#tab_agentliste').children('tbody').children('tr:first-child').remove();
         }
         else {
            $('#'+id_prev).parent().children('.jq_tdb').children().remove();
    	var html="<tr id=\"trajout\"><td><input type=\"text\" id=\"nom2\"/></td><td><input type=\"text\" id=\"service2\"/></td><td><input type=\"text\" id=\"piece2\"/></td><td><img id=\"imgdelete\" src=\"./images/drop.gif\" /><img id=\"imgvalide\" src=\"./images/coche.gif\" /></td></tr>";
    	$('#tab_agentliste').children('tbody').children('tr:first-child').before(html);
    			}
    		});
    Ma ligne s'affiche tout en haut du tableau ( c'est ce que je veux) .
    L'ID de ma ligne est ID= trajout et dans une des cases de cette ligne j'ai positionné des img avec des id =imgdelete et imgvalide

    et voila quel est mon soucis , quand je clique une des deux images , il ne se passe rien. comme si mon ID n'existait pas !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $('#imgdelete').click(function(){
    	alert("fmlsjljfs");
    	$('#trajout').remove();
    });
    j'ai pas d'erreur de syntaxe mon code html généré semble nickel.

    Savez vous ce qui va pas ? ai-je mal utilisé la fonction before() , faut il " rafraichir la page ( je mets raffraichir entre guillemet, puisque c'est pas le but du jeu avec l'ajax ) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <table id="tab_agentliste" class="tablesorter">
    <thead><tr><th class="header">Nom</th><th class="header">Bureau</th><th class="header">Piece</th><th class="header">&nbsp;</th></tr></thead>
     
    <tbody><tr id="trajout"><td><input id="nom2" type="text"></td><td><input id="service2" type="text"></td><td><input id="piece2" type="text"></td><td><img id="imgdelete" src="./images/drop.gif"><img id="imgvalide" src="./images/coche.gif"></td></tr><tr><td class="jq_td" id="ag_n0">ABLAOUI Catherine</td><td class="jq_td" id="ag_s0">1B</td><td class="jq_td" id="ag_p0">2110</td><td class="jq_tdb"></td></tr>
    <tr><td class="jq_td" id="ag_n1">ADAM Marie-France</td><td class="jq_td" id="ag_s1">1D</td><td class="jq_td" id="ag_p1">3114</td><td class="jq_tdb"></td></tr>
    <tr><td class="jq_td" id="ag_n2">ADDOR Marie-Jose</td><td class="jq_td" id="ag_s2">2B</td><td class="jq_td" id="ag_p2">2514</td><td class="jq_tdb"></td></tr>
    Merci de votre aide

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    comme si mon ID n'existait pas !
    En même temps, c'est le cas... au moment où tu déclares le gestionnaire de clic, l'image n'existe pas !
    D'autre part, un id doit être unique dans la page, donc de toute façon, ton code fonctionnera mal.

    Sinon, les événements délégués de jQuery (.delegate() ou mieux .on()) devraient te permettre de remédier au premier problème.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Par défaut
    Citation Envoyé par Bovino Voir le message
    En même temps, c'est le cas... au moment où tu déclares le gestionnaire de clic, l'image n'existe pas !
    D'autre part, un id doit être unique dans la page, donc de toute façon, ton code fonctionnera mal.

    Sinon, les événements délégués de jQuery (.delegate() ou mieux .on()) devraient te permettre de remédier au premier problème.
    salut,

    Je comprends pas bien ta réponse. tu confirmes que mon Id n'existe pas, alors que dans l'explorateur de DOM de firefox ou dans le code généré il est présent !!!!

    D'autre part, je viens de tester la méthode délegate(), je n'ai pas plus de résultat si j'ai bien compris son utilisation. Quand je clique sur l'image dont l'ID est imgdelete, il ne se passe rien .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $("body").delegate("#imgdelete", "click", function(){
    	alert("dsdzsdsdsds" );
    });

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Bovino
    D'autre part, un id doit être unique dans la page, donc de toute façon, ton code fonctionnera mal.


    EDIT :
    alors que dans l'explorateur de DOM de firefox ou dans le code généré il est présent !!!!
    Il est peut-être présent quand tu cliques, mais pas quand tu déclares le gestionnaire de clic !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Par défaut
    Citation Envoyé par Bovino Voir le message


    Il est peut-être présent quand tu cliques, mais pas quand tu déclares le gestionnaire de clic !
    Tu serais pas normand pour faire des réponses si peu claires ;-))))))

    Peux tu être plus précis? qu'entends-tu par gestionnaire de clic ?


    Ma ligne est ajoutée en effet par un clic . elle n'est pas présente à la fin du "premier" chargement de la page.
    Y'a t'il une commande pour, en quelques sortes, recharger les éléments ?
    Je croyais que c'etait justement le rôle de la fonction before() d'ajouter un élément dans le DOM ???????

    On m'aurait menti ????


    Merci de ton aide

Discussions similaires

  1. Liste d'objet : probleme avec la methode add
    Par Driktheviking dans le forum C#
    Réponses: 4
    Dernier message: 07/06/2011, 09h30
  2. Ajout d'attributs et methodes a plusieurs objets JavaScript avec JSON
    Par zarbi94 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/05/2010, 18h20
  3. Réponses: 4
    Dernier message: 08/04/2010, 11h41
  4. Ajout d'un page avec la methode Drawing.Graphics
    Par pools dans le forum Windows Forms
    Réponses: 0
    Dernier message: 18/06/2009, 10h52
  5. Impossible de retourner un objet avec la methode _call.invoke
    Par nemo69500 dans le forum Services Web
    Réponses: 0
    Dernier message: 04/12/2008, 08h45

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