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 :

Selection d'id dynamique


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1
    Par défaut Selection d'id dynamique
    Bonjour,

    Je commence a utiliser jquery pour un nouveau projet après une longue utilisation de prototype et j'ai un peu de mal à comprendre comment modifier des informations de manière dynamique. Le but pour le moment est très simple : j'affiche un tableau que je veux mettre à jour pour activer/désactiver des éléments.

    Le code 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
    <table>
    <tr>
    	<td id="soumission_change_state_id_1" style="background-color: #FF0000">
    		<a href="javascript:;" onclick="soumission_change_state(1);">X</a>
    	</td>
    	<td>
    		texte
    	</td>
    </tr>
    <tr>
    	<td id="soumission_change_state_id_2" style="background-color: #FF0000">
    		<a href="javascript:;" onclick="soumission_change_state(2);">X</a>
    	</td>
    	<td>
    		kjhkjhkjhkjh
    	</td>
    </tr>
    </table>
    Le code jquery :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function soumission_change_state (id) {
        var soumission = "#soumission_change_state_id_"+id;
        $.ajax({
            type: "POST",
            dataType: 'json',
            url: "rpc/soumission_change_state.html",
            data: "id="+id,
            success: function(data){
                alert($(" l'id est %"+soumission+"%");
                $("#soumission_change_state_id_1").css("background-color", "#009900");
                $(soumission).css("background-color", "#009900");
            }
        });
    }
    La requête ajax se passe correctement et la fonction de callback fonctionne, m'affiche l'alert où je vois que ma variable soumission est bonne, mais après, ce n'est plus bon.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $("#soumission_change_state_id_1").css("background-color", "#009900"); fonctionne, mais $(soumission).css("background-color", "#009900");
    ne fonctionne pas, et pas d'erreur sur la console javascript de FF.

    D'où ma question : est ce que jquery n'est pas capable de sélectionner des id qui sont dans une variable ? ou existe t il une astuce que j'ai zappé ...

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Voici un exemple (voir les commentaires du code) :
    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
    71
    72
    73
    74
    75
    76
    <!doctype html>
    <html lang="fr">
    <head>
    	<meta charset="utf-8">
    	<meta name="Author" content="Daniel Hagnoul">
    	<title>Forum jQuery</title>
    	<style>
    		/* Base */
    		body { background-color:#dcdcdc; color:#000000; font-family:sans-serif; font-size:medium; font-style:normal;
    		font-weight:normal; line-height:normal; letter-spacing:normal; }
    		h1,h2,h3,h4,h5 { font-family:serif; }
    		div,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,form,table,img { margin:0px; padding:0px; }
    		h1 { font-size:2em; text-shadow: 4px 4px 4px #bbbbbb; text-align:center; }
    		p { padding:6px; }
    		div#conteneur { width:95%; min-width:800px; min-height:500px; margin:12px auto; background-color:#FFFFFF;
    		color:#000000; border:1px solid #666666; }
     
    		/* Test */
    	</style>
    </head>
    <body>
    	<h1>Forum jQuery</h1>
    	<div id="conteneur">
    <table>
    	<tr>
    		<td id="soumission_change_state_id_1" style="background-color: #FF0000">
    			<p>Un mot pour remplir</p>
    		</td>
    		<td>
    			texte
    		</td>
    	</tr>
    	<tr>
    		<td id="soumission_change_state_id_2" style="background-color: #FF0000">
    			<p>Un mot pour remplir</p>
    		</td>
    		<td>
    			kjhkjhkjhkjh
    		</td>
    	</tr>
    </table>
    	</div> 
    	<script charset="utf-8" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
    	<script>
    		$(function(){
     
    function soumission_change_state(id){
        $.ajax({
            type: "POST",
            dataType: 'json',
            url: "rpc/soumission_change_state.html",
            data: "id="+id.slice(27),	// transmet uniquement le numéro de l'id
            success: function(data){
    			/*
    			 * alert($(" l'id est %"+soumission+"%");
    			 *
    			 * Je ne comprends pas cette instruction et il manque un ) final avant le ;
    			 */
                alert("L'id est : " + id);
                $("#soumission_change_state_id_1").css("background-color", "#009900");
                $("#"+id).css("background-color", "#009900");
            }
        });
    }
     
    /*
     * Gère l'événement click sur les td dont l'id commence par
     * Voir http://api.jquery.com/attribute-starts-with-selector/
     */
    $("td[id^='soumission_change_state_id_']").click(function(){
    	soumission_change_state(this.id);
    });
    		});
    	</script>
    </body>  
    </html>

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

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

Discussions similaires

  1. Balise select et name dynamique
    Par vik93 dans le forum Langage
    Réponses: 6
    Dernier message: 24/04/2013, 15h54
  2. [MySQL] Requete Select avec choix dynamique des champs de condition
    Par belaggoun2000 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/02/2009, 11h30
  3. Select avec jointure dynamique
    Par o11ww dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/05/2008, 09h00
  4. select dans SQL dynamique avec table variable
    Par enzodb2 dans le forum DB2
    Réponses: 4
    Dernier message: 26/07/2007, 16h28
  5. [PHP-JS] select et checkbox dynamique
    Par kenny.kev dans le forum Langage
    Réponses: 4
    Dernier message: 03/04/2007, 11h14

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