2013-05-22 5 views
0

J'essaye de cliquer sur un lien ajax rails en utilisant jquery en cliquant sur un marqueur Google Map, mais je ne sais pas comment faire. Voici le lien:Cliquez sur un lien link_to avec jQuery

sidelistings div

<% @properties.each_with_index do |property,index| %> 
      <div class="sidelisting" id="<%= index %>"> 
      <div><%= link_to image_tag("http://432.mlsimages.movoto.com/0#{property.mls.last(2)}/tn/#{property.mls}_0.jpg"), {:action => 'show', :id => property.id}, :remote => true %> </div> 

J'ai une carte Google avec 20 marqueurs sur ce qui correspondent aux 20 propriétés dans le sidelistings ci-dessus div. Je veux pouvoir cliquer sur le marqueur de carte et cliquer sur le lien ci-dessus pour sa propriété correspondante. J'ai fait les id s des 20 sidelistings correspondent aux index du tableau des marqueurs de carte. Voici ma tentative de jquery dans le code de google maps:

google.maps.event.addListener(markerArray[i], 'click', function(){ 
     var element = this.id; 
     var sidelisting = document.getElementById(element); 
     $('sidelisting:a').click(); 
    }); 

Le code ci-dessus ne jette pas d'erreur dans la console, mais en cliquant sur le marqueur de carte ne fait rien, ce que je fais mal?

+0

pouvez-vous mettre 'console.log ('dans l'écouteur)' dans l'écouteur pour vérifier s'il est en cours d'exécution? Je n'ai pas compris dans votre question si vous avez déjà vérifié que – juanpastas

+0

J'ai ajouté cette ligne à la fin et chaque fois que je clique sur un marqueur de carte, la console affiche: dans l'écouteur. Je pense que j'obtiens juste la syntaxe fausse pour appeler le lien d'un ID – railsy

+0

si je remplace ma dernière ligne avec celui-ci alors en cliquant sur le marqueur de carte me prend correctement à la page de détails de propriété du sidelisting avec l'id de 3: ' $ ('# 3 a'). Click(); ' – railsy

Répondre

1

ai compris, je recevais quelques mauvaises choses, voici le code de travail:

google.maps.event.addListener(markerArray[i], 'click', function(){ 
     var index = markerArray.indexOf(this); 
     $('#' + index + ' a').click(); 
}); 

Je ne savais pas que je devais construire le sélecteur dans le $() de cette façon avec les signes plus et l'espace avant le tag a est également requis

Questions connexes