0

我已经附加了我的数据并分配了如下 ID:

svg.selectAll("circle").data(csv).enter().append("circle")
                    .attr("id", function(d){return "row"+d["ROW ID"];});

“ROW ID”是包含我的数据 ID 的列的名称。现在我想在圆圈中添加一个点击事件,并将当前点的 ID 保存在一个新变量中,以使用它来调用其他函数。谁能告诉我如何获取当前选定点的“ROW ID”?

谢谢

4

1 回答 1

0

你想要这样的东西还是我误解了你的问题?

svg = d3.select("svg");

csv = [
  {"row ID": "id1",
   "x": 20,
   "y": 30},
  {"row ID": "id2",
   "x": 30,
   "y": 50}

]

svg.selectAll("circle").data(csv).enter().append("circle")
  .attr("id", function(d){return "row"+d["ROW ID"];})
  .attr("cx", function(d){return d.x})
  .attr("cy",function(d){return d.y})
  .attr("r",10)
  .style("fill", "black");

circles = d3.selectAll("circle");

circles.on("click",function(d) {
  alert(d["row ID"]);
})

互动版在这里: http ://tributary.io/inlet/5455132

于 2013-04-24T20:04:57.117 回答