我创建了几个月的下拉菜单作为选项,但是想要预先指定一个选项作为默认值.但是,默认选择似乎固执地仍然是列表中的第一个选项.
我尝试了下面的代码,这对我来说很有意义,因为对于任何其他属性,设置一个简单的比较就足以改变该属性的值.
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; });
Run Code Online (Sandbox Code Playgroud)
我知道我的问题只是一个正确的语法问题,但当我试图搜索互联网和stackoverflow,但无法弄清楚我错过了什么.
我的意思是鼠标输出的点击相当于我想要一种方法来点击一个元素来改变一些属性,然后当我点击除该元素之外的任何东西时让它改回来.通过悬停切换此属性更改很容易,因为您基于鼠标悬停和鼠标移动更改了内容,但我不确定如何基于click事件执行相同操作.
所以我所拥有的是带有圆圈的svg元素,当它们被点击时会显示红色轮廓.我知道足以让一次只能选择一个圆圈,但是当我点击不是圆圈的svg的一部分时,我不知道如何取消选择所有节点.如果这还不够清楚,我可以创建一个jsfiddle来展示我到目前为止所拥有的东西.
我从阅读许多例子中获得了选择的工作知识,但似乎无法弄清楚我应该采取什么方法来实现这一目标.