d3 foreignObjects,从数据中添加复选框和文本

时间:2014-06-01 21:23:36

标签: javascript d3.js

附加html复选框和带有外来对象的文本。

.attr("id",function(d){return d.id;})
        .append("foreignObject")
          .attr("width", 200)
          .attr("height", 200)
          .attr("x",0)
          .attr("y",0)
          .append("xhtml:body")
          .html("<form><input type=checkbox id=check class=tick/></form>")

上面的代码有效,但是如果我尝试将span / label与复选框一起放置,那么它也可以工作,但仅限于纯文本值。我想从下面的数据中动态地做标签

html("<form><input type=checkbox id=check class=tick/><span>"+function(d){return d.name;}+"</span></form>")

但它不评估函数并输出文本“function(d){return d.name;}”作为标签。我在这做错了什么?

1 个答案:

答案 0 :(得分:2)

您需要传递html()函数或字符串,而不是与函数连接的字符串。这应该有效:

.html(function(d) {return "<form><input type=checkbox id=check class=tick/><span>" + d.name + "</span></form>";})