D3.js:获取所选期权的价值?

Ric*_*ard 20 d3.js

我想从D3.js的下拉列表中获取所选选项的值.

<select>
<option data-graph="1">1</option>
<option value="2">2</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我看过这个问题,解释了当select更改时如何获取值:

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

但是,如何在页面加载时获取所选值,而不是在更改选择时?

Moo*_*oop 47

我发现这是最简单的:

d3.select("#objectID").node().value; 
Run Code Online (Sandbox Code Playgroud)

以下节点中所选选项的文本是: <select id="objectID"></select>

请注意,这些d3.node()内容记录在https://github.com/mbostock/d3/wiki/Selections#node中,并且其.value属性HTMLInputElement记录在MDN上,网址https://developer.mozilla.org/en/docs/Web/API/ HTMLInputElement.


Ani*_*wal 31

使用.property()方法:

d3.select("#objectID").property("value")
Run Code Online (Sandbox Code Playgroud)


Ste*_*mas 12

您不需要使用D3来执行此操作:

var sel = document.getElementById('myselect');
console.log(sel.options[sel.selectedIndex].value)
Run Code Online (Sandbox Code Playgroud)

  • 如果你想使用d3:var sel = d3.select('#myselect').node() (7认同)