我有一个用d3.js生成的表;当我在下拉菜单中进行选择时(例如,“阿拉斯加”而不是初始/默认值“阿拉巴马州”),标题应该会更新。 尽管我可以使新标题显示在表格上方,但我的问题是,更新的标题会附加到上一个标题上,而不是替换它。
这是我的朋克:http://next.plnkr.co/edit/7b4CmQqnm3L70QL9FgQD
我尝试将产生标题的代码移到大括号};
之外,虽然这解决了重复项问题,但这只会导致标题中的selectedState
停留在“阿拉巴马州” 。”
我还尝试过修改onchange()
函数,以使其以与更新表时删除#title
div相似的方式删除table
div。尽管这成功地完全删除了#title
div,但新标题不会被重绘-只会被删除。
我尝试将标题或标题的一部分定义为常量。但是我只是语法错误。
有人可以演示基于this Plunker的标题更新的正确方法吗?我已经尝试过针对.enter
,.update
和.exit
的教程,但是我根本不知道如何应用它们-即使它们适用于我的情况。>
答案 0 :(得分:1)
In your code, this...
div.innerHTML += 'Primary substance use among TEDS aged 12 years and older, by gender, age, race, and ethnicity: ' + selectedState;
...is just concatenating any previous text in that <div>
with the new text.
Instead of that, just assign a new value:
div.innerHTML = 'Primary substance use among TEDS aged 12 years and older, by gender, age, race, and ethnicity: ' + selectedState;
Here is the updated Plunker: http://plnkr.co/edit/qCk4iu51SAtHJ3LzTB27?p=preview