Ergebnis 1 bis 4 von 4
-
14-03-2017, 09:58 #1
Foren As
- registriert
- 14-09-2016
- Beiträge
- 89
Angeklickten Wert in Variable zwischenspeichern
Hey Leute,
ich habe folgenden Code:
Code:var data = [10,20,30,40]; var color = d3.schemeCategory10; // color array built in //// Add the select and options: var select = d3.select('body') .append('select') .on('change',function() { update(this.value) }); var start = select.append('option') .html("select: "); var options = select.selectAll('.option') .data(data) .enter() .append('option') .attr('class','option') .attr('value',function(d,i) { return i; }) .html(function(d,i) { return i; }); //// Add the circles (and svg) var svg = d3.selectAll('body') .append('svg') .attr('width',500) .attr('height',200); var circles = svg.selectAll('circle') .data(data) .enter() .append('circle') .attr('cx',function(d,i) { return i * 30 + 50; }) .attr('cy',50) .attr('r',10) .attr('fill',function(d,i) { return color[i]; }); // Update everything: function update(i) { data.splice(i,1); // remove that element. // Update and remove option from the select menu: options.data(data).exit().remove(); // Remove that circle: circles.data(data).exit().remove(); circles.attr('cx',function(d,i) { return i * 30 + 50; }) .attr('fill',function(d,i) { return color[i]; }); // reset the select menu: start.property('selected','selected'); }
Dies wird durch die zeile
Code:.html(function(d,i) { return i; });
Durch Klicken der Indexe im Drop-Fenster verschwinden die Kreise mit Hilfe der Splice-Funktion.
Mein Ziel ist nun folgendes:
ich möchte auf einen Index i im Drop-Fenster klicken, sagen wir mal 2 und diesen Wert in einer Variable "a" zwischenspeichern. Dieser soll dann automatisch von der Splice-funktion verwendet werden, alsoCode:data.splice(i,a);
Ich möchte also, dass wenn man den Index "2" , quasi 2 Elemente durch die Splice-Funktion entfernt werden. Und wenn ich Index "3" anklicke, dann sollen 3 Elemente entfernt werden.
Kann mir einer von euch dabei helfen?
Vielen lieben Dank
Gruss
- - - Aktualisiert - - -
Ich habe es schon mit "selectedIndex" probiert, aber das war wohl nicht die richtige Lösung.
- - - Aktualisiert - - -
-
14-03-2017, 16:59 #2
AW: Angeklickten Wert in Variable zwischenspeichern
Ist das nicht der gleiche Werte wie schon in i? Irgendwie verstehe ich nicht, was du eigentlich machen willst.
Theoretisch hast du this.selectedIndex auch an der Stelle zur Verfügung, wo du auch this.value ausliest.
-
14-03-2017, 21:05 #3
Foren As
- registriert
- 14-09-2016
- Beiträge
- 89
AW: Angeklickten Wert in Variable zwischenspeichern
Hey, also es klappt, wenn man
Code:.on('change',function() { update(this.value) });
Code:.on('change',function() { update(this.value, this.options[this.selectedIndex].text) });
Und dann die update-Funktion in
Code:function update(i,a) { data.splice(i,a);........}
Nun verstehe ich aber nicht genau,wie man diesen neuen Teil deuten soll:
Code:.on('change',function() { update(this.value, this.options[this.selectedIndex].text) });
Code:this.value
Code:this.options[this.selectedIndex].text
Geändert von milesdavis (15-03-2017 um 15:20 Uhr)
-
16-03-2017, 17:37 #4
AW: Angeklickten Wert in Variable zwischenspeichern
Ähnliche Themen
-
ID des angeklickten Buttons an Funktion übergeben
Von pimbolie1979 im Forum JavaScriptAntworten: 2Letzter Beitrag: 06-04-2016, 23:56 -
Wert in Tabelle zwischenspeichern
Von nvidia im Forum JavaScriptAntworten: 2Letzter Beitrag: 31-01-2011, 14:08 -
Variable verliert Wert
Von jsNewbie21 im Forum JavaScriptAntworten: 4Letzter Beitrag: 24-09-2010, 20:01 -
Eingaben zwischenspeichern
Von KFlash im Forum JavaScriptAntworten: 3Letzter Beitrag: 26-09-2006, 10:42 -
wert als variable namen
Von Klark im Forum JavaScriptAntworten: 9Letzter Beitrag: 20-11-2003, 12:28
Lesezeichen