javascript – 使用D3设置下拉菜单的默认选择

我创建了几个月的下拉菜单作为选项,但是想要预先指定一个选项作为认值.但是,认选择似乎固执地仍然是列表中的第一个选项.

我尝试了下面的代码,这对我来说很有意义,因为对于任何其他属性,设置一个简单的比较就足以改变该属性的值.

var defaultOptionName; // desired default dropdown name
d3.select("#dropdown").append("select")
    .on("change",someFunction)
    .selectAll("option").data(dataset)
    .enter().append("option")
    .attr("value",function(d){return d;})
    .attr("selected",function(d){
         return d === defaultOptionName;
    })
    .text(function(d){ return d; });

我知道我的问题只是一个正确的语法问题,但当我试图搜索互联网和stackoverflow,但无法弄清楚我错过了什么.

解决方法

我发现不是使用.attr,而是使用.property来访问认选择选项.只需要一个简单的替换,所以你的代码片段看起来像:
.property("selected",function(d){ return d === defaultOptionName; })

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...