在D3中设置<select>元素的值?</select>

时间:2015-03-09 00:51:14

标签: d3.js

如何使用D3.js设置<select>元素的值?

我正在尝试这个:

d3.select('#myselect').attr('value', 'France');

但它没有用。

JSFiddle:http://jsfiddle.net/06z9tnzs/

3 个答案:

答案 0 :(得分:14)

您需要使用属性而不是 attr 来设置值。

d3.select('#myselect').property('value', 'France');

来自d3文档:

  

某些HTML元素具有使用标准属性或样式无法寻址的特殊属性。例如,表单文本字段具有值字符串属性,而复选框具有已检查的布尔属性。您可以使用属性运算符来获取或设置这些属性,或者基础元素上的任何其他可寻址字段,例如className。

https://github.com/mbostock/d3/wiki/Selections#property

Albert的评论也是正确的,因为你的JSFiddle缺少d3.js引用,而没有指定&#34; myselect&#34;在选择元素。

答案 1 :(得分:1)

我可能错了,但是因为你没有包含d3.js?

<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>

由于某种原因,我无法在帧源中看到它。 也, select应具有myselect的id

<select>
    <option value="England">England</option>
    <option id = "myselect" value="France">France</option>
    <option value="Italy">Italy</option>
</select>

答案 2 :(得分:0)

d3.js设置值的另一种方法

d3.select('#myselect').node().value = 'France';