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 :

rafraichissment requete ajax


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Par défaut rafraichissment requete ajax
    Bonjour,

    J'affiche des news, ou l'utilisateur a la possibilité de choser une case pour faire disparaitre cette news.
    Cette news est supprimé via un requete ajax, qui recharge par la suite mon bloc div #offreEmploi, avec le nouveau contenu.

    Mon problème c'est qu'une fois le nouveau contenu chargée, lors du clic sur une autre case a cochée, il ne se passe rien


    Pouvez-vous m'aider svp ?

    Bloc javascript (placé entre le <head> de la page :

    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
     
      <script type="text/javascript">
    	function etat(valeur) {   
    		 $.ajax({
    			type: 'POST',
    			url: 'etat.php',
    			data: "etat="+ valeur,
    			dataType:'text',
    			success: actualiserPage,
    			error: function() {alert('Erreur serveur');}
    				  }); 
    	  }
     
    	 function  actualiserPage(response){
    		$("#offreEmploi").html(response);
    		//alert(response);
    	 }
     
    	$(document).ready(function() {
    		$('.cvouinon').change(function() {
    			etat($(this).val());
    		});
     
    	});
      </script>
    Exemple de contenue de ma page html :


    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
    <table style="width:936px;margin-bottom:25px;">
    	<tr>
    		<td>Titre:
    			<a href="http://dddddddddddddd" target='_blank'>
    			<h2 style="display:inline;font-size:16px;font-weight:bold">Titre 1</h2>
    			</a>
    		</td>
    	</tr>
    	<tr>
    		<td>
    			<label for name="CVoui">CV Oui</label>
    			<INPUT class="cvouinon" id="26" type="checkbox" name="CVoui" value="CVoui_26"/>
    		</td>
    	</tr>
    </table>
    <table style="width:936px;margin-bottom:25px;">
    	<tr>
    		<td>Titre:
    			<a href="http://dddddddddddddd" target='_blank'>
    			<h2 style="display:inline;font-size:16px;font-weight:bold">Titre 2</h2>
    			</a>
    		</td>
    	</tr>
    	<tr>
    		<td>
    			<label for name="CVoui">CV Oui</label>
    			<INPUT class="cvouinon" id="26" type="checkbox" name="CVoui" value="CVoui_26"/>
    		</td>
    	</tr>
    </table>
    Merci beaucoup

  2. #2
    Membre chevronné Avatar de nadox
    Homme Profil pro
    Développeur
    Inscrit en
    Février 2010
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 360
    Par défaut
    Bonjour,

    Ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            $('.cvouinon').change(function() {
                etat($(this).val());
            });
    est éxécuté seulement sur les éléments qui ont la classe .cvouinon présent dans le document à son chargement.

    Il faudrait le faire pour chaque nouveau contenu récupéré en Ajax, puisque c'est lui qui associe la case à cocher avec la fonction Ajax...

  3. #3
    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 : 55
    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
    Un grand classique
    Tellement classique qu'il est même traité dans la Pourquoi les événements disparaissent après une mise à jour avec AJAX ?.

    La solution est d'utiliser la méthode jQuery live()
    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

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Par défaut
    Merci bcp, ca fonctionne

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

Discussions similaires

  1. [AJAX] Requete Ajax : accents
    Par Romalafrite dans le forum AJAX
    Réponses: 2
    Dernier message: 11/05/2009, 11h35
  2. rafraichissement du cache d une requete AJAX
    Par freakss dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/06/2008, 17h44
  3. champs qui s'efface lors d'une requete ajax.
    Par starr dans le forum Langage
    Réponses: 3
    Dernier message: 27/10/2006, 08h33
  4. [AJAX] rafraichissement en ajax
    Par islem dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/08/2006, 12h14
  5. activer mod_proxy pour les requetes ajax
    Par xtaze dans le forum Apache
    Réponses: 1
    Dernier message: 17/05/2006, 17h45

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