如何使用D3.js设置<select>
元素的值?
我正在尝试这个:
d3.select('#myselect').attr('value', 'France');
但它没有用。
JSFiddle:http://jsfiddle.net/06z9tnzs/
答案 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';