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

JavaScript Discussion :

Appel de fonction depuis une table dynamique


Sujet :

JavaScript

  1. #1
    kap
    kap est déconnecté
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 188
    Par défaut Appel de fonction depuis une table dynamique
    Bonjour à tous !!

    Je développe une application cartographique Googlemaps combinée à une table. J'affiche dynamiquement des markers sur ma carte ainsi que la table associée. J'ai défini sur chaque marker un évènement onclick qui centre et zoom la carte sur le marker en question. J'aimerais obtenir le même comportement en cliquant sur le nom du marker dans la table. J'y arrive à peu près... disons que j'ai deux solutions : une qui marche sous IE et une qui marche sous Firefox. Il me faudrait une solution qui marche sur les deux La carte est visible ici

    L'event :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    			google.maps.event.addListener(gb_agglomerations[gb_agglomerations.length-1], "click", function()
    {
    	select_agglo(this.id, this.city, this.x, this.y);
    });
    Appel depuis la table, l'event est défini au niveau de la ligne html_href.onclick ou html_href.setAttribute

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	for (ville in table_agglo)
    	{		
    var html_td2 = document.createElement("td");
    		var htext2=document.createTextNode(table_agglo[ville]['name']);
    		// the name of the agglomeration is a link to the map centered on the agglomeration
    		var html_href = document.createElement("a");
    		//marche pour IE
    		//html_href.onclick = function(){return select_agglo(table_agglo[ville]['id'],table_agglo[ville]['name'],table_agglo[ville]['x'],table_agglo[ville]['y'])};
    		// marche Firefox
    		html_href.setAttribute('onclick', "select_agglo(table_agglo["+ville+"]['id'],table_agglo["+ville+"]['name'],table_agglo["+ville+"]['x'],table_agglo["+ville+"]['y'])");
    		html_href.setAttribute('href', '#map_container');
    Avez-vous des idées? Merci.

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    disons que la version IE fonctionnera partout;

  3. #3
    kap
    kap est déconnecté
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 188
    Par défaut
    C'est pas le cas. La version IE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    html_href.onclick = function(){return select_agglo(table_agglo[ville]['id'],table_agglo[ville]['name'],table_agglo[ville]['x'],table_agglo[ville]['y'])};
    a un comportement non voulu sous Firefox : certes la carte centre et zoom sur un marker, mais ce n'est pas le bon marker... La variable de boucle "ville" conserve la dernière valeur affectée. Je me retrouve donc avec des liens qui sélectionnent tous le même marker.

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    ajoute

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    html_href.vil=table_agglo[ville];
    avant l'appel;

    puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    html_href.onclick = function(){return select_agglo(this.vil['id'],this.vil['name']... etc)}

  5. #5
    kap
    kap est déconnecté
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 188
    Par défaut
    Ah ouais, c'est malin ça Pourquoi j'y pense pas tout seul à ce genre de solutions... Merci beaucoup !!

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

Discussions similaires

  1. Appel à la fonction depuis une div "externe"
    Par Zadoner dans le forum jQuery
    Réponses: 7
    Dernier message: 14/10/2010, 15h54
  2. getattr() ? Appel d'une fonction depuis une fonction
    Par frites.saucisse dans le forum Général Python
    Réponses: 8
    Dernier message: 10/10/2008, 14h21
  3. comment appeler un widget depuis une fonction
    Par Thierry {-|-o dans le forum Tkinter
    Réponses: 3
    Dernier message: 02/01/2008, 23h23
  4. Appel de fonctions d'une DLL C++ depuis Java
    Par max_rossito dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 11/01/2007, 22h54
  5. Appel de fonction depuis une classe fille
    Par lhpp dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 26/04/2006, 22h02

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