D3.js D3:从下拉列表中选择后高亮显示圆形

D3.js D3:从下拉列表中选择后高亮显示圆形,d3.js,datalist,D3.js,Datalist,我有一个从csv填充的数据列表下拉列表。当我从下拉列表中选择项目时,我希望相关圆圈高亮显示 <input type="text" list="initname-datalist" placeholder="Search Project/Initiative.." onChange="initiativeSearch(this.value);"> 倡议名称是csv中填充下拉列表的一列 console.loginitSelection正在确认initiative中的正确值,但没有选择相

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

<input type="text" list="initname-datalist" placeholder="Search Project/Initiative.." onChange="initiativeSearch(this.value);">
倡议名称是csv中填充下拉列表的一列


console.loginitSelection正在确认initiative中的正确值,但没有选择相关的圆圈。\n如果没有JSFIDLE,很难猜不到,但无论如何,我将尝试一个:

在initiativeSearch上下文中,圆圈实际上是一个空选择

试一试

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

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

您的语法不正确。您正在使用,但缺少第三个操作数。它应该类似于returnd.data.initiative_name===initSelection?绿色:红色;。感谢altocumulus,添加第三个操作数产生了差异。虽然看起来只在Chrome中工作,但我也需要IE和Edge,而且我有类似的功能,所以我有点生气为什么这个不能。我将onChange改为onInput,这解决了IE和Edge的问题
function initiativeSearch(initSelection) {
  const circles = d3.selectAll('.circle')
    .transition() // ...and so on
}