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

Angular Discussion :

jquery UI -tooltip


Sujet :

Angular

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Par défaut jquery UI -tooltip
    Bonjour, j'ai un projet ou je souhaite créer un popup sur une élément web en utilisant le plugin jquery-ui tolltip. Ca marche bien sauf que je souhaite récupérer le contenu d'une page html pour l'injecter dans le pop up.

    En php ça marche très bien, en angular voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    				$("TABLE TBODY TD A.pop").tooltip({
    					items: "[popup]",
    					open: function( event, ui ) {console.log('la');$('.ui-tooltip').show(); },
    					content: function(callback) {$.get('http://localhost:4200/carte_simple/' + $(this).attr('popup'), {}, function(data) {console.log('ici');callback(data);});}
    				});
    Le soucis c'est que la page http://localhost:4200/carte_simple/XXX me renvoi tjs une 404.
    Pourtant si je la lance dans mon navigateur elle répond sans soucis et affiche ce qu'elle doit afficher.

    Du coup je doit passer à coté d'un truc ^^

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Par défaut
    as tu un message d'erreur dans la console ?

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Par défaut
    Non tout fonctionne bien, simplement la page qui est appelée dans le content fait un 404. D'ailleurs j'avais testé le plugin matTooltip et j'avais le même soucis. J'ai l'impression que quand je fait un get.http sur une page angular, ben ça marche pas

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Par défaut
    tu recuperes les données via le httpClient de angular

    ça peut fonctionner ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    this.httpclient.get(..............).subscribe((data: any) => {
    
    $("TABLE TBODY TD A.pop").tooltip({
    					items: "[popup]",
    					open: function( event, ui ) {console.log('la');$('.ui-tooltip').show(); },
    					content: data 
    }
    				});
    
    });

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Par défaut
    alors le truc c'est que le get http se déclenche au passage de la souris sur la ligne (élément html TD). C'est à ce moment la que je récupère l'ID de la fiche que je veux afficher dans le pop-up.

    Si je suis bien ta proposition, le popup ne se chargera qu'une fois non, et ne sera pas différent pour chaque ligne ?

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Par défaut
    peut être comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    				$("TABLE TBODY TD A.pop").tooltip({
    					items: "[popup]",
    					open: function( event, ui ) {console.log('la');$('.ui-tooltip').show(); },
    					content: () => {
     
     
    this.httpclient.get('http://localhost:4200/carte_simple/' + $(this).attr('popup')).subscribe((data: any) => {
      return data;
    }
     
     
                                            }
    				});

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Par défaut
    Je pense que le this n'est plus celui d'angular mais celui de 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
        ngAfterContentInit() 
    		{
    		$( document ).ready(function() 
    			{
    				$("TABLE TBODY TD A").tooltip({
    					items: "[popup]",
    					open: function( event, ui ) {$('.ui-tooltip').show(); },
    					content: function(callback) 
    					{
    					console.log($(this).attr('popup'));
    					//$.get('http://localhost:4200/carte_simple/' + $(this).attr('popup'), {}, function(data) {console.log('ici');callback(data);});
    					this.httpclient.get('http://localhost:4200/carte_simple/' + $(this).attr('popup')).subscribe((data: any) => { console.log(data); });
    					}
    				});	
    			});
    		}
    Uncaught TypeError: this.httpclient is undefined

  8. #8
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Par défaut
    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
     
     
      ngAfterContentInit() 
    		{
    let that = this;
     
    		$( document ).ready(function() 
    			{
    				$("TABLE TBODY TD A").tooltip({
    					items: "[popup]",
    					open: function( event, ui ) {$('.ui-tooltip').show(); },
    					content: function(callback) 
    					{
    					console.log($(this).attr('popup'));
    					//$.get('http://localhost:4200/carte_simple/' + $(this).attr('popup'), {}, function(data) {console.log('ici');callback(data);});
    					that.httpclient.get('http://localhost:4200/carte_simple/' + $(this).attr('popup')).subscribe((data: any) => { console.log(data); });
    					}
    				});	
    			});
    		}

  9. #9
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Par défaut
    Hum, le that correspond à mon composant à priori:
    ERROR in src/app/page/cartes.component.ts:84:11 - error TS2339: Property 'httpclient' does not exist on type 'CartesComponent'.

    84 that.httpclient.get('http://localhost:4200/carte_simple/' + $(this).attr('popup')).subscribe((data: any) => { callback(data); });
    ~~~~~~~~~~

  10. #10
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Par défaut
    tu as bien importé Httpclient et declaré dans le constructor ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/04/2010, 02h57
  2. Rafrachissement d'une fonction Jquery (tooltip)
    Par boutmos dans le forum jQuery
    Réponses: 4
    Dernier message: 23/10/2009, 16h15
  3. Plugin ToolTip pour Jquery
    Par suckthewindow dans le forum jQuery
    Réponses: 10
    Dernier message: 02/03/2009, 13h16
  4. [JQuery] Ajax et bulle d'aide [ToolTip]
    Par Invité dans le forum jQuery
    Réponses: 1
    Dernier message: 04/07/2008, 10h18

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