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 25/07/2011, 09h34   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2010
Messages : 80
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 80
Points : 10
Points : 10
Envoyer un message via MSN à doud180878
Par défaut recuperer des id en fonctions d'une liste

Bonjour ,

Je dois récupérer l'id de chaque ligne pour pouvoir la supprimer ou la modifier en jquery dans une boite de dialogue

Exemple :

J'ai une liste de contact avec des id en input cache que je récupére en cliquant sur le bouton modifier.

Le premier soucis c'est que je récupère à chaque fois le premier id quel que soit le bouton sur lequel je clique.

Code :
1
2
3
4
5
6
7
8
9
10
<tr id="ligne">
				<td style="width: 150px;">{liste.groupe}</td>
				<td>{liste.email}</td>
				<td style="width: 200px;">
				<a href="javascript:actionModifier('id_contact', '{liste.id}', 'modification')" class="btn_modifier"></a>
				<input type="hidden" id="id_client" name="id_client" value="{liste.id}" />
				<img src="/design/separation-fiche.png" width="2" height="27" alt="" />
				<a href="#" onclick="supprimer({liste.id})" class="btn_supprimer"></a>
				</td>
			</tr>

les requetes ajax :


Code :
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
$( "#modif-form" ).dialog({
 
		autoOpen: false,
		show: "slide",
		height: 520,
		width: 400,
		modal: true,
		buttons: {
			"Modifier le compte": function() {
				var id_client = $("#id_client").val();
				alert(id_client);
 
				//appel de la création d'un contact
				$.ajax({
				 type: "POST",
				 url: "/modules/emails.php",
				 data: $("#dialog-form form" ).serialize(),
				 success: function(data){
				    // alert(data);
				     info_good("Votre nouveau contact a bien &eacute;t&eacute; cr&eacute;e");
					window.setTimeout("window.location.reload()",1000);
				   }
 
 
				});
 
							$( this ).dialog( "close" );
 
 
			/*	}*/
								},
				Annuler: function()
				 {
						$( this ).dialog( "close" );
				 }
 
 
 
				},
		close: function()
		 {
			allFields.val( "" ).removeClass( "ui-state-error" );
		 }
 
 
 
 
});
 
	// bouton de modification
	$( ".btn_modifier" )
		.button()
		.click(function() {
		 var id_client = $("#id_client").val();
		alert(id_client)
			$( "#modif-form" ).dialog( "open" );
 
			return false;
		});
et ensuite je ne vois pas comment faire pour la traiter dans mon formulaire de modification

Merci
doud180878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 09h41   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
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 807
Points : 35 797
Points : 35 797
Citation:
Je dois récupérer l'id de chaque ligne
Citation:
je récupère à chaque fois le premier id quel que soit le bouton sur lequel je clique.
Laisse-moi deviner... Toutes tes lignes ont le même id ?
__________________
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 25/07/2011, 10h07   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2010
Messages : 80
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 80
Points : 10
Points : 10
Envoyer un message via MSN à doud180878
Eh bien non justement les id n'ont pas le même "id"

et quand je clique sur mon bouton n'importe lequel j'ai en alert "16479" comme exemple et pour toutes...
doud180878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 10h17   #4
Candidat au titre de Membre du Club
 
Inscription : mai 2010
Messages : 80
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 80
Points : 10
Points : 10
Envoyer un message via MSN à doud180878
Alors ca avance j'ai trouver un façon de récupérer l'id de mes contacts quand je clique sur le bouton modifier.

Code :
1
2
3
4
5
6
7
 
$('a.btn_modifier').click(function(e) { // quand on clique sur un lien supprimer
		e.preventDefault(); // annule l'effet du lien pour pas recharger la page
		var id = $(this).attr("rel"); // on recupere l'id de l'element a supprimer (qui est dans l'attribut rel du lien)
		alert(id),
			$( "#modif-form" ).dialog( "open" );
	});
Quand je clique j'ai bien une alert avec le bon numéro correspondant maintenant il faut que je récupère les données et les mettre dans mon formulaire.
doud180878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 10h25   #5
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 027
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 027
Points : 45 126
Points : 45 126
un id ne doit jamais être uniquement numérique, ni même commencer pas du numérique ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 10h30   #6
Candidat au titre de Membre du Club
 
Inscription : mai 2010
Messages : 80
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 80
Points : 10
Points : 10
Envoyer un message via MSN à doud180878
Ok merci rectifier
doud180878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 12h26   #7
Candidat au titre de Membre du Club
 
Inscription : mai 2010
Messages : 80
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 80
Points : 10
Points : 10
Envoyer un message via MSN à doud180878
On continue a avancer c'est pas grand mais tout de même :

Voici mon nouveau code :

Code :
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// bouton pour modifier le contact
 $('a.btn_modifier').click(function(e)
 {
  		e.preventDefault(); //desactive la réactualisation
		var id = $(this).attr("id"); //recupere l'id du contact
		//alert(id);
		$.ajax
					({
					 type: "POST",
					 url: url,
					 data: "modif=" + id,
					 success: function(data){
 
					   }
			     });
 
 
			$( "#modif-form" ).dialog
			({
 
				show: "slide",
				hide: "explode",
				height: 520,
				width: 400,
				modal: true,
 
 
 
				buttons: {
				"Modifier le compte": function() {
 
					//alert(id),
 
 
 
 
						$( this ).dialog( "close" );
 
					},
					Annuler: function()
					 {
						$( this ).dialog( "close" );
					 }
					},
				close: function()
				 {
					allFields.val( "" ).removeClass( "ui-state-error" );
				 }
 
			});
return false;
 
});
Il est beaucoup plus simple qu'avant car je veux l'adapter a toutes les pages

quand je clique su rle bouton modifier je me connecte a ma base de donnée pour faire passer l'id du contact plus la session courante en fichier cachée et je luis demande de me l'afficher.

Le soucis c'est quand je regarde le code dans la console que le serveur me renvoie j'ai bien les valeurs des champs mais pas rien n'apparait dans le formulaire.

est ce que quelqu'un aurait une idée..

Merci
doud180878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 22h15   #8
Membre à l'essai
 
Inscription : septembre 2010
Messages : 34
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 34
Points : 21
Points : 21
bonjour,

tu n'as pas besoin de donner d'id à tes lignes tu peux recuperer leur n° par
Code :
1
2
 
 ligne=$(this).parent().parent().children().index($(this).parent());
ensuite tu récupères la valeur de n'importe quel champ de ta table par

exemple pour récupérer la première colonne ( 0 )
Code :
1
2
 
valeur_colonne0_ligne = $("#matable tbody>tr:eq("+ligne+")>td:eq(0)").text();
ça simplifie le code ! plus besoin d'id
flyingfr53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 10h23   #9
Candidat au titre de Membre du Club
 
Inscription : mai 2010
Messages : 80
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 80
Points : 10
Points : 10
Envoyer un message via MSN à doud180878
Un grand merci à tous.

Optimisation, Optimisation, c'est vrai que comme ça en récupérant leur n° c'est nikel.

Merci flyingfr53.

Pour le récupération de l'id lors de l'affichage et la modification, il m'a juste suffit de mettre en fichier caché, les données et les récupérer par la suite.
doud180878 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h54.


 
 
 
 
Partenaires

Hébergement Web