d3.js, cliquez sur un lien vers une autre URL encodé avec des variables
J'ai fait un nuage de points, et que vous souhaitez ajouter un lien vers chaque point.
chart.selectAll("scatter-dots")
.data(data)
.enter().append("circle")
.attr("cx", function (d) { return x(d.position[0]); } )
.attr("cy", function (d) { return y(d.position[1]); } )
.attr("r", 4)
.style("fill", "#666")
.style("opacity", 0.5)
.on("click", function(){
var url = "http://somelink.com/link.php?id=";
url += d.link_id;
//$(location).attr('href', url);
//window.location = url;
});
Il fonctionne si j'ai juste mis un pur Chaîne de liaison
de la fenêtre.emplacement = "http://stackoverflow.com"
Cependant, si j'ai ajouter des requêtes à la fin de l'URL à partir d'une variable, la page n'est pas redirigée.
Ni jquery ni javascript travaillé (comme indiqué.)
J'ai aussi essayé un fichier js externe, de ne toujours pas.
C'est dans un fichier PHP, si cela aide.
- simplement résolus. changement sur on("click", function(d)....
Vous devez vous connecter pour publier un commentaire.
Si elle fonctionne avec une chaîne statique puis quelque chose est incorrect avec le d.link_id. Essayez de voir ce qui est à l'intérieur, soit en effectuant
alert(d.link_id)
ou si vous utilisez un firebug ou d'autres similaires neconsole.log(d.link_id)
.Sinon, vous devez utiliser les ancrages réels pour lier vos nœuds au lieu de se fixer sur les événements. Ce serait quelque chose comme...
(Je ne peux pas me rappeler si c'est exactement la façon de le faire, vous avez besoin d'enregistrer les ancres dans une variable et ensuite ajouter les cercles pour eux.)
.on("click", function(){ d3.select(this).attr("your-attribute");}