2016-04-09 2 views
0

Ich versucheSchnappen Eigenschaften der HTML __data__ Eigenschaft mit Jquery

hier in einem <g> Tag hält, eine Eigenschaft zu erhalten, sind die Eigenschaften der g tag:

ich eine Immobilie greifen will: Station

Alle g-Tags Ereignisse klicken, aber ich bin nicht in der Lage auf die Station Wert greifen auf, die ich für eine ajax-Anforderung benötigen, hier die js:

$(".map-wrapper").on("click", "g", function(event) { 
    event.preventDefault(); 
    console.log("I want this to be the value of the ward property"); 
}); 

Die verschachtelte Abfrage ist so etwas wie [ „Daten‚] [‘Eigenschaften‚] [‘Station“]

+0

warum die Daten nicht direkt d3 bekommen? Etwas wie 'allgs.forEach (Funktion (g) {console.log (d3.select (g) .data())})' – Cyril

+0

können Sie jquery's .prop() verwenden, um es zu bekommen? http://api.jquery.com/prop/ – JordanHendrix

+0

Also das ist, was ich getan habe, um den Wert zu erhalten, den ich brauchte '$ (". map-wrapper "). auf (" click "," g ", Funktion (Ereignis) { event.preventDefault(); $ ward = $ (this); console.log ($ ward [0] .__ Daten __. properties.ward); }) 'code' –

Antwort

0

So ist die Antwort auf meine Frage war den g Tag zu isolieren, dann Zugriff auf seine __data__ Eigenschaft, zuzugreifen dann die properties Eigentum von __data__, dann Zugriff auf die ward Eigenschaft von properties.

$(".map-wrapper").on("click", "g", function(event) { 
    event.preventDefault(); 
    $ward = $(this); 
    console.log($ward[0].__data__.properties.ward); 
}); 
+0

Wenn du d3 benutzt, dann nutze seine Macht. – murli2308

+0

Also hier ist, was ich getan habe, um Ihre Methode zu verwenden, was sind die Vorteile der Verwendung von d3 anstelle von jquery? d3.selectAll (". Map-wrapper"). On ("click", "g", Funktion (Ereignis)) { event.preventDefault(); var ward = d3.select ($ (this)). . (Daten) Station; var ajaxRequest = $ Schnipsel ({ url: "Stationen /" + Station, Typ: 'get' }); ajaxRequest.done (function (jsonWardCrimeData) { $ ('.load-animation'). toggle(); $ ('. specific-data') .html (jsonWardCrimeData); }); }); –

1
d3.selectAll(".map-wrapper").on("click", "g", function(event) { 
    event.preventDefault(); 
    var ward = d3.select($(this)).data().ward; 
}); 

Dies sollten Sie die Station geben für das geklickt g Element

Verwandte Themen