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 :

id (créé à la volée) non interprété


Sujet :

jQuery

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut id (créé à la volée) non interprété
    Bonjour,
    voici un exemple simpliste de mon questionnement :
    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
    <!DOCTYPE HTML><html>
    <head>
    <!-- Scripts jQuery : initialisation -->
    <script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
    	$('#idBloc_1').click( function () {
    		changeBloc_2_from_1();
    	});
    	$('#idBloc_2').click( function () {
    		changeBloc_3_from_2();
    	});
    });
    function changeBloc_2_from_1(){
    	var txthtml = 'Bloc 2 : <span id="idBloc_2">-> maintenant, changer le Bloc 3</span>';
    	$('#ajaxBloc2').html(txthtml);
    }
    function changeBloc_3_from_2(){
    	var txthtml = 'Bloc 3 : youpi ! ca marche !';
    	$('#ajaxBloc3').html(txthtml);
    }
    </script>
    </head>
    <body>
    		<p>Bloc 1 : <span id="idBloc_1">-> changer le Bloc 2</span></p>
    		<p id="ajaxBloc2">Bloc 2 : (...)</p>
    		<p id="ajaxBloc3">Bloc 3 : (...)</p>
    </body>
    </html>
    Bloc 1 : -> changer le Bloc 2
    Bloc 2 : (...)
    Bloc 3 : (...)
    1/ On clique sur "-> changer le Bloc 2" :
    le Bloc 2 affiche "Bloc 2 : -> maintenant, changer le Bloc 3"
    Bloc 1 : -> changer le Bloc 2
    Bloc 2 : -> maintenant, changer le Bloc 3
    Bloc 3 : (...)
    2/ MAIS quand on clique ensuite sur "-> maintenant, changer le Bloc 3", CA NE fonctionne PAS...

    Je pense que ça vient du fait que <span id="idBloc_2"> ne soit pas dans le DOM "de départ", mais j'aimerais :
    - comprendre pourquoi ça ne fonctionne pas,
    - et surtout comment y remédier !
    Merci.


    PS1 : Je voudrais éviter la solution (qui fonctionne, mais... ceci n'est qu'un exemple simpliste...) :
    => re-déclarer $('#idBloc_2').click(........) DANS la fonction changeBloc_2_from_1()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function changeBloc_2_from_1(){
    	var txthtml = 'Bloc 2 : <span id="idBloc_2">-> maintenant, changer le Bloc 3</span>';
    	$('#ajaxBloc2').html(txthtml);
    	// ON REMET ICI : 
    	$('#idBloc_2').click( function () {
    		changeBloc_3_from_2();
    	});
    }
    PS 2 : je voudrais éviter aussi de mettre des onclick="..." ou onchange="..." ou autres dans le code html
    Comme ici : (ca fonctionne très bien, mais c'est justement ce que je ne veux pas faire !) :

    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
    <!DOCTYPE HTML><html>
    <head>
    <!-- Scripts jQuery : initialisation -->
    <script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
    <script type="text/javascript">
    function changeBloc_2_from_1(){
    	var txthtml = 'Bloc 2 : <span id="idBloc_2" onclick="changeBloc_3_from_2();">-> maintenant, changer le Bloc 3</span>';
    	$('#ajaxBloc2').html(txthtml);
    }
    function changeBloc_3_from_2(){
    	var txthtml = 'Bloc 3 : youpi ! ca marche !';
    	$('#ajaxBloc3').html(txthtml);
    }
    </script>
    </head>
    <body>
    		<p>Bloc 1 : <span onclick="changeBloc_2_from_1();">-> changer le Bloc 2</span></p>
    		<p id="ajaxBloc2">Bloc 2 : (...)</p>
    		<p id="ajaxBloc3">Bloc 3 : (...)</p>
    </body>
    </html>
    PS : vous aurez compris que les variables "var txthtml = ..." peuvent provenir d'un appel Ajax, et être bien plus complexe qu'un simple "youpi !"
    Dernière modification par Invité ; 24/07/2012 à 18h18.

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

Discussions similaires

  1. [JSTL] <x:transform> non interprété
    Par Pi2 dans le forum Taglibs
    Réponses: 1
    Dernier message: 21/07/2006, 16h43
  2. index.php non interprété directement
    Par Celeborn dans le forum Apache
    Réponses: 3
    Dernier message: 04/07/2006, 14h21
  3. variable d'environnement windows non interprétée
    Par rogerio dans le forum Windows
    Réponses: 4
    Dernier message: 02/06/2006, 07h06
  4. balises non interprétées sous IE mais bien sous FF
    Par trotters213 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 27/04/2006, 14h31
  5. IIS et code ASP non interprété
    Par christel1982 dans le forum ASP
    Réponses: 4
    Dernier message: 25/10/2005, 09h26

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