Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/12/2011, 15h15   #1
Invité de passage
 
Inscription : janvier 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 5
Points : 0
Points : 0
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 :
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 :
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 :
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
biloubill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 15h23   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
Citation:
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 15h42   #3
Invité de passage
 
Inscription : janvier 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 5
Points : 0
Points : 0
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 :
1
2
3
4
 
$("body").delegate("#imgdelete", "click", function(){
	alert("dsdzsdsdsds" );
});
biloubill est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2011, 15h47   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
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 :
Citation:
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 08h33   #5
Invité de passage
 
Inscription : janvier 2008
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 5
Points : 0
Points : 0
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
biloubill est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h35.


 
 
 
 
Partenaires

Hébergement Web