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 :

Attacher une variable à un élément HTML


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 94
    Par défaut Attacher une variable à un élément HTML
    Bonjour à tous,

    je continue sur ma lancée des plugins JQuery (que je réalise pour mes besoins) et je souhaitais utiliser les même principes que le flexigrid pour accéder à des méthodes mais je me heurte à un problème.

    J'ai une fonction JQuery "filters" qui créer un div et fait ce qu'il à faire dedans.
    Et j'ai 2 autres fonctions qui permettent en théorie de mettre à jour les options de mon "filters" et de le recharger (recharger l'IHM de ce div).

    Sauf que lorsque j'essaye d'accéder à la variable params de mon élément HTML, elle n'existe pas, pourtant en débug, lorsque je fais "this.params = params;" dans la partie "filters", je vois bien que la variable params est attachée à mon élément HTML.

    Ma question est donc : wtf ? Pourquoi je n'arrive pas à récupérer cette variable en faisant "this.params" dans les fonctions "filtersOptions" et/ou "filtersReload" ?

    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
    (function($) {
    		/*JQUERY PLUGGIN*/
    		$.fn.filters = function(params) {
    			/*Parameters*/
    			params = $.extend({
    				title: '',
    				category: '',
    				filters: [],
    				open: true
    			},params);
     
    			/*No action so we init the container*/
    			if((typeof params)!="string"){
    				/*Change the container class*/
    				$(this).addClass("activeFilters");
    				/*Create the title*/
    				$(this).append(CreateDivTitle(params));
    				/*Create the content*/
    				$(this).append(CreateDivContent(params));
    			}else{
    				//Action asked
     
    			}
    			this.params = params;
    			return this;
    		};	
    		$.fn.filtersOptions = function (params) { //function to update general options
    			return this.each(function () {
    				$.extend(this.params, params);
    			});
    		};
    		$.fn.filtersReload = function (params) { //function to update content
    			return this.each(function () {
    				$.extend(this.params, params);
    				$("#activeFiltersContent").remove();
    				/*Re create the content*/
    				$(this).append(CreateDivContent(this.params));
    			});
    		};
    })(jQuery);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $('#activeFilters').filters({title: filtersTitle[0], category: filterAll[0], open: true});
    var arrayTest = ['Severité 1','Site : Tours'];
    $('#activeFilters').filtersOptions({filters: arrayTest});

    NB : le code est toujours en développement. Les fonctions Create[...] ne font qu'insérer du HTML.

    Merci à tous et joyeux noël en léger retard puisque je n'ai pas eu l'occasion de vous le souhaiter

  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 : 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

    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
    (function($) {
    	$.fn.filters = function(params){
     
    		// modifie $.fn.filters.params avec params
    		$.extend($.fn.filters.params, params);
     
    		return this;
    	};
     
    	$.fn.filtersOptions = function(params){
    		// modifie $.fn.filters.params avec params
    		$.extend($.fn.filters.params, params);
     
    		return this;
    	};
     
    	$.fn.filtersReload = function(params) {
     
    		return this.each(function(){
    			// modifie $.fn.filters.params avec params
    			$.extend($.fn.filters.params, params);
     
    			$(this).append( CreateDivContent($.fn.filters.params) );
    		});
    	};
     
    	// la version par défaut
    	$.fn.filters.params = {
    		"title": '',
    		"category": '',
    		"filters": [],
    		"open": true
    	};
    })(jQuery);

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

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 94
    Par défaut
    Mais est ce que cela fait que params est lié au composant auquel j'applique mon pluggin "filters" ? J'en ai pas l'impression.
    Parce que si j'ai plusieurs appels à mon pluggin dans la même pages, tous mes composants vont partager les mêmes options ?

  4. #4
    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
    Citation Envoyé par titmael Voir le message
    [...], tous mes composants vont partager les mêmes options ?
    Oui !

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

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 94
    Par défaut
    Comment faire alors pour que "params" ne soit lié qu'à l'élement HTML auquel j'applique mon pluggin ?

  6. #6
    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 659
    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 659
    Billets dans le blog
    1
    Par défaut
    data() ...
    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 !

Discussions similaires

  1. Assigner dans une variable un élément de ma liste
    Par EGdubs dans le forum Langage
    Réponses: 3
    Dernier message: 27/04/2015, 16h50
  2. Inclure une variable dans le HTML BODY d'un mail
    Par LANGAZOU dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 18/03/2015, 12h39
  3. utiliser une variable javascript en html
    Par walido dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/10/2009, 18h19
  4. Recupération d'une variable dans inner.HTML
    Par Irad78 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/04/2007, 13h51
  5. Utilisation d'une variable Javascript en html
    Par Crazynoss dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/10/2005, 16h43

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