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 02/06/2011, 15h27   #1
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Par défaut Récupérer la valeur d'un élement après un appel Ajax

Bonjour,

Je m'exerce à coder un tableau html filtré avec des listes déroulantes. Le net regorge de plugin mais j'aimerais faire le mien histoire de m'amuser un peu en ce jour de congé

L'exercice est simple : à chaque sélection dans la liste déroulante, je fais un appel Ajax pour mettre à jour la div qui contient le tableau avec les données filtrées.

Au 1er appel je récupère la value du select sans soucis, le problème se situe au 2ème appel, comme la page n'a pas été rechargée la value n'est pas récupérée et les données du tableau ne changent pas.

Comment fait-on pour récupérer la value d'un élément qui n'est pas dans le source de la page ?

Je ne code peut-être pas bien ?? Au 1er chargement de la page j'inclus le tableau comme ça :
Code :
1
2
3
<div id="tableau">
	<?php include("tableau.php"); ?>
</div>
l'appel Ajax :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
$("#id").change(function(){
 
 var filtre = $("#id").val();
  $.ajax({
	type: "POST",
	url: "tableau.php",
	data: { "filt":filtre },
	success: function(donnee){
		if(donnee != "")
		{
		  $("#tableau").html(donnee);
		}
        }
  });
 
});
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 15h55   #2
Membre éclairé
 
Homme
Webmaster
Inscription : septembre 2007
Messages : 376
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2007
Messages : 376
Points : 377
Points : 377
Salut,

si j'ai bien compris, il faudrait que tu regardes de côté de la méthode live : http://api.jquery.com/live/

la méthode live permet de s'abonner à un évènement, sur un ou plusieurs objets, même si ceux-ci sont insérés plus tard dans le DOM.

Dans ton cas cela donnerait :

Code :
1
2
 
$("#id").live('change', function() { //ton traitement });
J'espère bien avoir compris ton problème.

Finality
Finality est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 16h11   #3
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Merci, ça fonctionne
arthuro45 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 18h19.


 
 
 
 
Partenaires

Hébergement Web