Ich habe gerade angefangen, D3 für meine Webapplikation zu verwenden, um ein Diagramm zu visualisieren. Meine Kanten und Knoten sind anklickbar. Die Knoten senden den Benutzer an eine Tabelle, die Informationen über den Knoten beim Doppelklicken enthält. Ich würde das gleiche mit den Kanten machen, also wenn man klickt. Ich möchte die entsprechenden Knoten zu dieser Kante abrufen, so dass ich diese Informationen an ein anderes Skript senden könnte.D3.JS: Wie bekomme ich Knoten der entsprechenden Verbindung (Kante)
Also technisch möchte ich wissen, wie man den Namen der Knoten, die der Kante entsprechen, abruft. Z.B. Knoten A ist mit Knoten B verbunden. Wie kann ich diese Knoteninformationen abrufen, wenn auf die Kante (Link) geklickt wird? Die Ausgabe sollte die Werte A und B sein. Ich habe alles durchgeschaut und kann dazu keine Informationen finden.
Meine Kanten und Knoteninformationen ist in einer JSON-Datei
d3.dataset = {
"nodes":[
{"name":"heart problems","group":"1"},
{"name":"acetic acid","group":"3"},
{"name":"alzheimers","group":"1"},
{"name":"bipolar","group":"1"},
{"name":"ebola","group":"1"},
{"name":"vaccinium myrtillus","group":"2"},
{"name":"adamantane","group":"3"},
{"name":"fluorene","group":"3"}
],
"links":[
{"source":3,"target":1,"value":20},
{"source":3,"target":6,"value":20},
{"source":3,"target":7,"value":9},
{"source":0,"target":1,"value":19},
{"source":0,"target":6,"value":1},
{"source":2,"target":1,"value":20},
{"source":2,"target":6,"value":20},
{"source":2,"target":7,"value":5},
{"source":4,"target":1,"value":2},
{"source":4,"target":6,"value":3},
{"source":2,"target":5,"value":2},
{"source":5,"target":1,"value":2}
]
}
SOLUTION, danke für die Antwort, die ich so dumm fühlen ... Ich habe vergessen, die d in der Funktion :)
zu verwenden Dies ist die Funktion nun, die clickonEdgeEvent Funktion der Werte auf meinen HTML
var clickOnEdge = svg.selectAll(".link").on("dblclick", function(d){
d3.select(this).attr('r', 8)
.style("fill","lightcoral")
.style("stroke","red")
clickonEdgeEvent((d.source.name),(d.target.name));
});
Vielen Dank im Voraus für Ihre Hilfe geht, Dani
Können Sie ein Beispiel-Snippet mit diesem JSON teilen? – cyberbit