Установить значение элемента в D3?

Как я могу установить значение <select> элемент, используя D3.Яш?

Я пытаюсь это:

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

но это не работает.

JSFiddle здесь:http://jsfiddle.net/06z9tnzs/

2 ответов


вам нужно использовать свойства вместо attr для установки значения.

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

из документов d3:

некоторые элементы HTML имеют специальные свойства, которые не адресуются с помощью стандартных атрибутов или стилей. Например, текстовые поля формы имеют свойство value string, а флажки имеют свойство checked boolean. Оператор property можно использовать для получения или установки этих или любых других свойств адресуемое поле Базового элемента, например className.

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

комментарии Альберта также верны в отношении вашего jsfiddle отсутствует d3.ссылка js и не указание идентификатора "myselect" на выберите элемент.


Я могу ошибаться, но это потому, что вы не включили d3.Яш?

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

Я не вижу его в источнике кадра по какой-то причине. Также, select должен иметь идентификатор myselect

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