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 :

div avec concaténation


Sujet :

jQuery

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 306
    Par défaut div avec concaténation
    Bonjour,

    Voici mon code :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <select name="choix_membre" id_lis="1"><option value="10">Fiona</option><option value="15">Ines</option></select> <button id_objet="1">Lui Acheter</button>
    								<div id="1">PHOTO membre</div>
     
    <select name="choix_membre" id_lis="2"><option value="10">Fiona</option><option value="15">Ines</option></select> <button id_objet="1">Lui Acheter</button>
    								<div id="2">PHOTO membre</div>
    Je souhaite que mon client puisse choisir le membre à qui il souhaite offrir un cadeau (via le select) et que dès qu'il a sélectionné une personne sa photo s'affiche dans la derniere balise div.

    J'ai réussi à écrire ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $("select[id_lis]").bind("change", function(event)
    {
    	var id_liste = $(this).val();
    	$("div#"+id_liste).html("ici");
    });
    Mon code étant dynamique id_lis ne peut jamais être connu à l'avance mais est toujours identique à l'id du dernier div; si je remplace id_liste par le numéro d'une liste tout fonctionne bien et s'affiche comme ça devrait, mais comment faire pour que mon code fonctionne via cette concaténation ?

    Merci pour vos réponses

  2. #2
    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 : 54
    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
    Tu sembles confondre la valeur d'un attribut et la valeur sélectionnée d'un select !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var id_liste = $(this).val();
    va récupérer la valeur de l'option sélectionnée, soit 10 ou 15.
    Donc
    n'existe pas selon le code que tu donnes !

    Ensuite, les attributs tels que id_lis, c'est moche et ça n'existe pas !
    Si tu veux définir des attributs personnalisés, il faut passer par les attributs de type data-*...
    Le principe est simple : le nom de l'attribut (conforme W3C) commence par data-, la suite étant celle que tu veux, par exemple data-id_list et ensuite, tu peux récupérer la valeur via l'objet data() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(this).data('id_list')
    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

  3. #3
    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 : 74
    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

    Si j'ai bien compris...

    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
    <select class="liste">
    	<option value="0" selected>Choisir un membre</option>
    	<option value="10">Fiona</option>
    	<option value="15">Ines</option>
    </select>
     
    <button data-membre="0">Lui Acheter</button>
     
    <div data-membre="0">PHOTO membre</div>
     
    <select class="liste">
    	<option value="0" selected>Choisir un membre</option>
    	<option value="10">Fiona</option>
    	<option value="15">Ines</option>
    </select>
     
    <button data-membre="0">Lui Acheter</button>
     
    <div data-membre="0">PHOTO membre</div>
    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
    $( function(){
     
    	var photoMembres = {
    		0 : "images/info.gif",
    		10 : "images/imageTest.png",
    		15 : "images/avatarDVJH.jpg"
    	};
     
    	$( "select.liste" ).on( "change", function( event ){
    		var jObj = $( this ),
    			n = jObj.val();
     
    		jObj
    			.nextAll( "button[data-membre]" )
    			.eq( 0 )
    			.data( "membre", n )
    			.end()
    			.nextAll( "div[data-membre]" )
    			.eq( 0 )
    			.data( "membre", n )
    			.html( '<img src="' + photoMembres[ n ] + '">' );
    	});
     
    	$( "button[data-membre]" ).on( "click", function(){
    		var n = $( this ).data( "membre" );
     
    		if ( n > 0 ){
    			console.log( "Acheter un cadeau pour le membre : ", n );
    		}
    	});
     
    });

    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.)

Discussions similaires

  1. [CSS] Utilisation de deux div avec float
    Par Ditch dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 06/10/2005, 15h48
  2. coller de div avec un code css identique.
    Par samourai_alex dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 29/07/2005, 20h16
  3. comment scroller dans un div avec l'evenement onmousemove.
    Par julien.v dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 13/06/2005, 16h08
  4. [HTML] chevaucher <div> avec .swf
    Par John Blobsmith dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 16/01/2005, 00h40
  5. Problème hauteur div avec IE
    Par keup dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 25/11/2004, 12h20

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