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 :

jQuery/DOM affichage de n tableaux


Sujet :

jQuery

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 76
    Points : 64
    Points
    64
    Par défaut jQuery/DOM affichage de n tableaux
    Bonjour,

    Le problème est le suivant: j'ai un tableau par défaut sur une page et lorsque je clique sur une ligne j'en crée un deuxième. Et en cliquant sur une ligne de ce 2ième tableau pas moyen d'en afficher un 3ième.
    J'ai eu le même problème sans utiliser jQuery donc en utilsant cette librairie je pensais le contourner.
    voici le code:

    index1.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
    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    <html>
    <head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml;charset=iso-8859-15"/> 
    <title>Exemple</title> 
    <script type="text/javascript" src="jquery.js"></script> 
    <script type="text/javascript">
    $(document).ready(function() 
    {
    	$("tr").not(":first").hover(function()
    	{
    		$(this).css("background-color", "red");
    	},
    	function()
    	{
    		$(this).css("background-color", "white");
    	});
            <!--AFFICHAGE DU PREMIER TABLEAU-->
    	$(".deb").not(":first").click(function(){		
    	  var possesseur = $(this).children().next().html();
    		$.ajax(
    		{ 
    		    type: "GET", 
    		    url: 'test.php?possesseur='+possesseur, 
    		    success: function(retour)
    			{ 
    		        $("#test").append(retour);
    	        } 
    	   });
    	 });
               <!--AFFICHAGE DU DEUXIEME TABLEAU-->
    	 	$(".cons").not(":first").click(function(){
    	alert("yep");
    	  var console = $(this).children().html(); 
    		$.ajax(
    		{ 
    		    type: "GET", 
    		    url: 'test.php?console='+console, 
    		    success: function(retour)
    			{ 
    		        $("#testt").append(retour);
    	        } 
    	   });
    	 });
    });
    </script> 
    </head>
     
    <body>
    <div>
    <table border=black>
    	<thead>
    	<tr class="deb">	
    		<th>id</th>
    		<th>possesseur</th>
    		<th>console</th>
    	</tr>
    	</thead>
    	<tr class="deb">
    		<th>1</th>
    		<td>Patrick</td>
    		<td>Megadrive</td>
    	</tr>	
    	</tr>
    </table>
    </div>
     
    <div id="test"></div>
    <div id="testt"></div>
    </body>
    </html>
    test.php
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <html>
    <head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml;charset=iso-8859-15"/> 
    <title>Exemple</title> 
    </head>
    <body>
     
    <?php
    //PREMIER TABLEAU
    if (isset($_GET['possesseur']))
    {
    	echo '<table class="cons" border=green>';
    	$possesseur = $_GET['possesseur'];
    	$selec= 'console';
    	echo '<thead><tr><th>' . $selec . '</th></tr></thead>';
    	mysql_connect('localhost', 'root', '');
    	mysql_select_db('ajax');
    	$query = mysql_query('SELECT DISTINCT '. $selec. ' FROM jeux_video WHERE possesseur="' . $possesseur . '"');
     
    		while($recup = mysql_fetch_assoc($query))
    		{
    			echo '<tr class="cons">';
    				echo '<td>'.$recup[$selec].'</td>';
    			echo '</tr>';
    		}
    	mysql_close();
    	echo '</table>';
    }
    //DEUXIEME TABLEAU
    elseif (isset($_GET['console']))
    {
    	echo '<table id="tabl" border=red>';
    	$console= $_GET['console'];
    	mysql_connect('localhost', 'root', '');
    	mysql_select_db('ajax');
    	$query = mysql_query('SELECT id FROM jeux_video WHERE console="' . $console . '"');
     
    		while($recup = mysql_fetch_assoc($query))
    		{
    			echo '<tr class="idd">';
    				echo '<td>'.$recup['id'].'</td>';
    			echo '</tr>';
    		}
    	mysql_close();
    	echo '</table>';
    }
    else
    	echo '<p>error</p>';
    ?>
    </body>
    </html>
    Donc le click sur une ligne du 2ième tableau, ayant un attribut class "cons", n'est jamais détecté et je comprends pas pourquoi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(".cons").not(":first").click(function()
    Si quelqu'un pouvait m'éclairer.

  2. #2
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    ton 2eme tableau c'est des class idd et non des cons

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 76
    Points : 64
    Points
    64
    Par défaut
    non l'affichage du 3ième tableau se fait en fonction des <tr> possédant des class cons. C'est les valeurs de ce tableau que j'envoie à ma page php et qui sont checkés par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elseif (isset($_GET['console']))
    qui m'affiche donc le résultat.
    Ici idd ne sert pas (où alors éventuellement pour un autre tableau...).


    edit: j'ajoute que ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $("tr").not(":first").hover(function()
    	{
    		$(this).css("background-color", "red");
    	},
    	function()
    	{
    		$(this).css("background-color", "white");
    	});
    n'a d'effet que sur les <tr> du premier tableau et non le deuxième. Curieux mais c'est pas mon soucis pour le moment, mais ya peut etre un rapport?

    edit: ok le code généré n'apparait pas quand je fais afficher la source. Donc on peut pas agir sur le code générer en js? C'est quoi l'astuce?

    edit2: le problème est évident où je vous pose une colle?

Discussions similaires

  1. Affichage de trois tableaux
    Par mimi2311 dans le forum Pascal
    Réponses: 3
    Dernier message: 26/04/2008, 00h40
  2. [DOM] Affichage d'une balise XML
    Par worolf dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 02/04/2008, 16h59
  3. [DOM] Affichage etiquette pas precis
    Par mcdelay dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 31/10/2007, 11h54
  4. [DOM] Expressions regulieres et tableaux
    Par sarah52 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/06/2007, 12h43
  5. [DOM] DOM: affichage des modifications
    Par Bengo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/06/2007, 16h24

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