23

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

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

我已经看到了这个问题,它解释了如何在选择更改时获取值:

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

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

4

4 回答 4

51

我发现这是最简单的:

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

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

请注意,d3.node()记录在https://github.com/mbostock/d3/wiki/Selections#node并且.valuean 的属性HTMLInputElement记录在 MDN 的https://developer.mozilla.org/en/docs/Web/API/ HTML 输入元素

于 2013-11-22T20:42:39.690 回答
33

使用.property()方法

d3.select("#objectID").property("value")
于 2014-03-20T09:09:00.983 回答
14

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

var sel = document.getElementById('myselect');
console.log(sel.options[sel.selectedIndex].value)
于 2013-09-18T23:01:24.060 回答
0

我也看过

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

但我很确定这通常是一个坏主意......

于 2016-01-11T15:38:52.220 回答