我试图通过填充D3中csv文件中的条目来向数据列表中添加选项元素。根据我的理解,我选择了我的datalist,使用NAME列中的条目加载csv,绑定我的数据,并且应该附加带有数据值的选项的datalist。我不太清楚为什么没有制作元素,我认为它与我的数据处理方式有关。
d3.select("datalist")
.data(d3.csv("Input/domain_data.csv").row(function(d){return d.NAME}))
.enter()
.append("option")
.attr("value", function(d){return d})
答案 0 :(得分:3)
首先,d3.csv
是异步的,这意味着您需要设置回调并等待以使响应到达。其次,您需要在选定的data
上致电<option>
,即:selectAll('option')
,以便能够追加到他们身上。
// Start off by doing an HTTP request to a server:
d3.csv('path/to/file.csv')
.row(function (d) { return d.NAME })
.get(function (error, rows) {
// The response from the server has arrived (maybe check for errors too?).
// Let's create an empty selection of options inside a datalist:
d3.select('datalist').selectAll('option')
.data(rows) // performing a data join
.enter() // extracting the entering selection
.append('option') // adding an option to the selection of options
.attr('value', function (d) { return d; }); // add attribute
});