2016-05-12 5 views
1

Ich habe eine Datendatei mit dem Namen data.js, die wie folgt aktualisieren:Wollen data.js mit irgendeiner Funktion (keine Datenbank)

Für die Arbeit in Geige, habe ich diese Daten im Haupt verwendet Code nur, aber ansonsten ist es Form von data.js ist

var data = [{ 
     year: "first", 
     redDelicious: "10", 
     mcintosh: "0", 
     oranges: "19" 
    }, { 
     year: "second", 
     redDelicious: "12", 
     mcintosh: "0", 
     oranges: "15" 
    }, { 
     year: "third", 
     redDelicious: "05", 
     mcintosh: "0", 
     oranges: "28" 
    }, { 
     year: "fourth", 
     redDelicious: "14", 
     mcintosh: "0", 
     oranges: "12" 
    }, 

    ]; 

wie wir sehen können, McIntosh Null ist in allen Fällen, das ist, wie es initialisiert wird. Ich möchte dieses mcintosh jedes Mal aktualisieren, wenn ich eine Funktion ausführe, die den zu aktualisierenden Wert in mcintosh generiert. Ich verwende dies, um gestapeltes Balkendiagramm zu machen, wo Wert mcintosh auf redDelicious auf ihm gestapelt wird. Arbeiten fiddle for above work is here wo Sie das gestapelte Balkendiagramm erhalten.

+0

Sie möchten also eine Datei mit js bearbeiten? – echonax

+0

Yup. Das wird Code gut aussehen lassen, sonst wird es viele Daten im Skript selbst geben. – hawkeye

+0

Ich glaube nicht, dass Sie das mit Client-Seite js tun können. Vielleicht mit localStorage oder nodejs (serverseitig). http://stackoverflow.com/questions/22087881/how-to-save-and-edit-a-file-using-javascript, http://stackoverflow.com/questions/339679/edit-a-file-using-use- Javascript – echonax

Antwort

1

OK hier ist das Ergebnis: fiddle

ich Ihre Funktion mit update() gewickelt haben, so können wir es wieder aufrufen.

Ich habe eine Schaltfläche hinzugefügt, so dass wir den mcintosh-Schlüssel in Ihren Daten erhöhen können. Dann auf Knopf klicken entfernt ich die <g> Elemente unter dem Svg, inkrementiert Ihren zweiten Mcintosh-Wert und rief update, um die aktualisierten Daten neu zu zeichnen.

Ich habe jquery verwendet, um das click-Ereignis zu binden, aber Sie können es in d3 ändern, wenn Sie möchten.

+0

Das ist großartig, ich habe es überprüft, indem ich andere Elemente wie Daten [2] .mcintosh aktualisiert habe. Es funktioniert gut. Vielen Dank :-) – hawkeye

+0

Ich hoffe, ich kann mit einigen Variablen auch aktualisieren, die innerhalb der Funktion durch einen Parameter übergeben werden, wie ich es nicht beheben kann, welche Nummer aktualisiert werden soll. – hawkeye

+1

Ich habe versucht und es funktioniert .. Danke :) – hawkeye

Verwandte Themen