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 :

Obtenir l'id de l'objet courant dans colorpicker


Sujet :

jQuery

  1. #1
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut Obtenir l'id de l'objet courant dans colorpicker
    Bonjour,

    Ca à l'air tout bête, mais je ne parviens pas à obtenir l'id de l'objet qui fait appel à colorpicker à l'aide de sa classe...

    Voici l'html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="color1" class="colorSelector"></div>

    Voici le 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
    15
    16
    17
    18
    19
    20
    21
    $('.colorSelector').ColorPicker({
    											
    										
    	onShow: function (colpkr) {
    		        $(colpkr).fadeIn(500);
    		        return false;
    	},
    	onHide: function (colpkr) {
    			$(colpkr).fadeOut(500);
    			return false;
    				},
    
    	onChange: function (hsb, hex, rgb) {
    //ICI comment récupérer l'objet COURANT $('.colorSelector') car la il applique 
    le changement sur toutes les classes pourtant class="colorSelector"
    Je pensais le faire avec $(this) mais ça ne fonctionne pas comme ça...
    			$('.colorSelector div').css('backgroundColor', '#' + hex);
    			$('.colorSelector').parent().parent().find('input').val('#' + hex);
    				}
    });

    C'est vraiment casse tête mais c'est peut être tout simple...

    Merci!

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    l'objet survolé ne se trouve pas dans cette partie du code ...
    il faut aller fouiller dans le code de l'addon
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut
    D'accord c'est ce que je fais depuis des heures en vain...
    Je vais finir par trouver!!!

    Merci

  4. #4
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut
    Alors voilà, j'avance...

    J'ai trouvé comment modifier le script, en ajoutant une variable "myId" qui est alors appelé dans la fonction "onChange"

    Ce qui me donne (je ne montre pas le code du .js car pas important mais le code d'appel):

    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
    $('.colorSelector').click(function(){
    			
    	var myElement=$(this).attr('id');
    					
    	$('#'+myElement).ColorPicker({
    							
    	       myId:myElement,
    											
    		onShow: function (colpkr) {
    		       $(colpkr).fadeIn(500);			
    			return false;
    		},
    		onHide: function (colpkr) {
    			$(colpkr).fadeOut(500);
    			return false;
    		},
    	
    		onChange: function (hsb, hex, rgb, myId) {
    						
    			$('#'+myId).find('div').css('backgroundColor', '#' + hex);
    			$('#'+myId).parent().parent().find('input').val('#' + hex);
    		}
    	});
    });

    Par contre, j'utilise la fonction "click", mais le colorpicker ne s'ouvre que la deuxième fois que je clic dessus et autant de fois que l'on veut après... J'ai déjà eu la blague avec colorbox, mais je ne comprends pas pourquoi il ne se déclenche pas au premier clic?

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    il est instancié avant ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut
    Et bien l'utilisation simple de colorpicker est $('#monID').ColorPicker();

    Je fais appel à cela dans la boucle uniquement...

    Comment l'instancier correctement en JQuery?

    Comme ceci : $.ColorPicker ?

    Merci.

  7. #7
    Membre éclairé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Par défaut La solution
    Voilà, après pas mal de temps à chercher, j'ai enfin trouver une solution tant pour le passage d'un ID dynamique que pour mon problème de fonctionnement de la fonction "click" où le colorpicker ne s'exécutait qu'au 2e click...

    En fait, il fallait effectuer un ".each()" pour instancier correctement chaque ID dynamique en fonction de la classe ".colorSelector"

    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
    $('.colorSelector').each(function(){
     
     
    				var myElement=$(this).attr('id');
     
     
    				$('#'+myElement).ColorPicker({
     
    					myId:myElement,
     
    					onShow: function (colpkr) {
    						$(colpkr).fadeIn(500);
     
    						return false;
    					},
    					onHide: function (colpkr) {
    						$(colpkr).fadeOut(500);
     
    						return false;
    					},
     
    					onChange: function (hsb, hex, rgb, myId) {
     
     
     
    						$('#'+myId).find('div').css('backgroundColor', '#' + hex);
    						$('#'+myId).parent().parent().find('input').val('#' + hex);
    					}
    				});

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

Discussions similaires

  1. Obtenir une copie de l'objet VISU dans une nouvelle fenêtre
    Par dakota56 dans le forum IGN API Géoportail
    Réponses: 9
    Dernier message: 22/06/2011, 16h06
  2. Réponses: 4
    Dernier message: 26/09/2008, 12h14
  3. Obtenir l'index de la ligne courante dans une repeating table
    Par stephane eyskens dans le forum InfoPath
    Réponses: 7
    Dernier message: 25/05/2007, 17h55
  4. [JNI] : Obtenir les champs d'un objet inclus dans un objet
    Par jojo29 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 27/04/2006, 13h36

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