2015-03-09 6 views

risposta

10

È necessario utilizzare proprietà invece di attr per impostare il valore.

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

Dalla documentazione D3:

Alcuni elementi HTML hanno proprietà speciali che non sono indirizzabili utilizzando attributi standard o stili. Ad esempio, i campi di testo del modulo hanno una proprietà stringa di valore e le caselle di controllo hanno una proprietà booleana controllata. È possibile utilizzare l'operatore di proprietà per ottenere o impostare queste proprietà o qualsiasi altro campo indirizzabile sull'elemento sottostante, ad esempio className.

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

commenti di Albert sono anche per quanto riguarda il corretto JSFiddle manca il riferimento d3.js e non specificando solo l'ID di "myselect" sulla selezionare elemento.

+0

Grazie! Risolti entrambi nel JSFiddle e ora funziona: http://jsfiddle.net/06z9tnzs/3/ – Richard

1

Posso sbagliarmi, ma è perché non hai includere d3.js?

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

Non riesco a vederlo nell'origine frame per qualche motivo. Inoltre, selezionare dovrebbe avere un id di myselect

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