Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/04/2011, 13h51   #1
kap
Nouveau Membre du Club
 
Inscription : octobre 2005
Messages : 136
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 136
Points : 31
Points : 31
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 :
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 :
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.
kap est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2011, 14h03   #2
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
disons que la version IE fonctionnera partout;
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire.
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2011, 14h13   #3
kap
Nouveau Membre du Club
 
Inscription : octobre 2005
Messages : 136
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 136
Points : 31
Points : 31
C'est pas le cas. La version IE
Code :
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.
kap est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2011, 14h24   #4
Expert Confirmé
 
Avatar de javatwister
 
Homme
danseur
Inscription : août 2003
Messages : 2 667
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : danseur

Informations forums :
Inscription : août 2003
Messages : 2 667
Points : 3 035
Points : 3 035
ajoute

Code :
html_href.vil=table_agglo[ville];
avant l'appel;

puis

Code :
html_href.onclick = function(){return select_agglo(this.vil['id'],this.vil['name']... etc)}
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire.
javatwister est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2011, 14h30   #5
kap
Nouveau Membre du Club
 
Inscription : octobre 2005
Messages : 136
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 136
Points : 31
Points : 31
Ah ouais, c'est malin ça Pourquoi j'y pense pas tout seul à ce genre de solutions... Merci beaucoup !!
kap est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h12.


 
 
 
 
Partenaires

Hébergement Web