d3.js:根据用户输入按组颜色

时间:2016-10-04 21:48:24

标签: javascript html d3.js radio

我是一个使用d3.js创建基于用户选择的多级过滤器图的新手。除enter link description here分类颜色选择外,所有过滤器均正常工作。颜色默认为流体类型(默认应为材料类型),使用单选按钮切换不起作用。有人可以帮忙吗?

https://plnkr.co/edit/yoFCbe?p=preview

function filter_color(){
    colored = document.getElementById("color_Filter");
    svg.append("circle")
        .style("fill", function(d) {
            if (colored == 0) {
                return color(d["Material group"]);
            } else {
                return color(d["Fluid type"]);
            }
        })
    }

1 个答案:

答案 0 :(得分:0)

您没有检查收音机盒的实际价值。 获取checked / unchecked状态,if语句将按原样运行:

 colored = document.getElementById("color_Filter")[0].checked; // <= mind here
  if (colored == 0) {
        return color(d["Material group"]);
  } else {
        return color(d["Fluid type"]);
  }

请参阅https://plnkr.co/edit/gZOIbDgYj6OCs5aM1CV2?p=preview