创建多个下拉菜单时,如何在加载时设置选项selected
?
当页面完成加载时,第一个下拉列表应选择“Horse”,第二个下拉列表应选择“Cow”,第三个下拉列表应选择“Fox”。
let widgetContainer = d3.select('#dropdowns')
let animalNames = ["Horse", "Dog", "Cow", "Fox", "Cat", "Pig", "Aardvark", "Baboon", "Elephant"]
let selectedNames = ["Horse", "Cow", "Fox"]
let dropdowns = widgetContainer
.selectAll(".widget-select")
.data(selectedNames)
.join("select")
.attr("id", (d, idx) => `select-${idx}`)
.attr("class", "animal-select")
.on("change", (animalName, idx, selectElements) => {
let selectedValues = selectElements.map((elem) => elem.value);
// function that sets state for graph and renders
onAnimalSelect(selectedValues);
});
let options = dropdowns
.selectAll("option")
.data(animalNames)
.join("option")
.property("selected", (opt) => {
// how to find the parent node to set selected?
})
.attr("value", (opt) => opt)
.text((opt) => opt);
1条答案
按热度按时间juzqafwq1#
结合使用第二个和第三个参数可以得到DOM元素(在本例中为
n[i]
),然后使用parentNode
可以从该元素向上找到其父元素。因此,它可以是:下面是更改后的代码:
第一个