D3.js: obtenir la valeur de l'option sélectionnée?

je veux obtenir la valeur de l'option sélectionnée à partir d'une liste déroulante, en D3.js.

<select>
<option data-graph="1">1</option>
<option value="2">2</option>
</select>

j'ai vu cette question qui explique comment obtenir la valeur lorsque l'sélectionnez modifications:

d3.select("#myselect").on("change", change)
function change() {
    this.options[this.selectedIndex].value
}

mais comment puis-je obtenir la valeur sélectionnée sur la page de chargement, pas lorsque le select est modifié?

18
demandé sur Community 2013-09-19 02:57:55

4 réponses

Vous n'avez pas besoin d'utiliser de D3 pour le faire:

var sel = document.getElementById('myselect');
console.log(sel.options[sel.selectedIndex].value)
10
répondu Stephen Thomas 2014-12-26 17:58:39

j'ai trouvé ceci pour être le plus simple:

d3.select("#objectID").node().value; 

Qui est le texte de l'option sélectionnée dans le nœud suivant: <select id="objectID"></select>

Notez que d3.node() est documentée à l' https://github.com/mbostock/d3/wiki/Selections#node et .value propriété d'un HTMLInputElement est documentée sur MDN à https://developer.mozilla.org/en/docs/Web/API/HTMLInputElement.

42
répondu Moop 2014-12-26 18:02:36

.property() méthode:

d3.select("#objectID").property("value")
29
répondu Anish Agarwal 2014-12-26 18:03:48

j'ai aussi vu

d3.select("#objectID")[0][0].value

mais je suis sûr que c'est généralement une mauvaise idée...

0
répondu Azrantha 2016-01-11 15:38:52