D3:从下拉菜单中选择后高亮显示圆圈

时间:2018-07-05 03:55:58

标签: d3.js datalist

我有一个从csv填充的数据列表下拉列表。当我从下拉列表中选择项目时,我希望相关圆圈突出显示。

<input type="text" list="initname-datalist" placeholder="Search Project/Initiative.." onChange="initiativeSearch(this.value);">

function initiativeSearch(initSelection) {
        console.log(initSelection);
            circles.transition()
                .delay(0)
                .duration(500)
                .style("fill", function(d) { 
                    return d.data.initiative_name === initSelection ? "green";})}

initiative_name是csv中的一列,用于填充下拉列表。

console.log(initSelection)确认正在传递来自Initiative_name的正确值,但未选择相关的圈子。

1 个答案:

答案 0 :(得分:-1)

没有jsfiddle,很难不去猜测,但是无论如何我都会冒险:

circles实际上是initiativeSearch()上下文中的一个空选择。

尝试

function initiativeSearch(initSelection) {
  const circles = d3.selectAll('.circle')
    .transition() // ...and so on
}

如果您的选择为空,则函数末尾的d检查将永远不会发生。