D3.js 如何从d3中的下拉菜单中获取所选索引
我在d3.js中有一个下拉菜单,我想从所选选项中获取索引。这是一份50多家航空公司的名单,现在我有:D3.js 如何从d3中的下拉菜单中获取所选索引,d3.js,D3.js,我在d3.js中有一个下拉菜单,我想从所选选项中获取索引。这是一份50多家航空公司的名单,现在我有: function choixCompagnie(){ let compagnieChoisie = d3.select(this).property('value') } 每当下拉列表发生更改时,此功能就会激活,如下所示: d3.选择公司 .onchange,choixCompagnie 属性“value”意味着,例如,如果我单击下拉菜单的第一行,即Aer-Lingus,我的c
function choixCompagnie(){
let compagnieChoisie = d3.select(this).property('value')
}
每当下拉列表发生更改时,此功能就会激活,如下所示:
d3.选择公司
.onchange,choixCompagnie
属性“value”意味着,例如,如果我单击下拉菜单的第一行,即Aer-Lingus,我的compagnieChoisie变量将获得Aer-Lingus的值,而不是0
我需要它,因为我需要逐个公司访问一些属性,并且我的对象在一个数组中。因此,在我的数据库中,我需要访问类似以下数据[index].randomProperty的属性,而不是类似以下数据[Company Name].randomProperty的属性,因为公司名称已经是一个属性
我不知道这是否有意义,很抱歉,如果我使用了错误的术语,我对编码相当陌生
谢谢你的帮助
编辑:下面是一个工作示例,下拉列表获取值,而不是索引。您应该像这样访问数据:
function choixCompagnie(){
let compagnieChoisie = d3.select(this).property('value')
console.log(data.find(d => d.compagnie === compagnieChoisie).accidents);
}
我找到了一种更好、更简单的方法从下拉菜单中获取索引:
<select id="selectOptions"></select>
谢谢我发现了另一个使用d3.nest的方法,但您的方法似乎更优雅:d3.nest.keyd=>d.compagnie.mapdata;
var options = ["option1","option2"];
options.forEach(function(d,i){
d3.select("#selectOptions")
.append("option")
.attr("value",i)
.text(d);
})