更新后的表格标题会附加到上一个表格中,而不是替换它

时间:2019-04-16 20:00:33

标签: javascript d3.js

我有一个用d3.js生成的表;当我在下拉菜单中进行选择时(例如,“阿拉斯加”而不是初始/默认值“阿拉巴马州”),标题应该会更新。 尽管我可以使新标题显示在表格上方,但我的问题是,更新的标题会附加到上一个标题上,而不是替换它。

这是我的朋克:http://next.plnkr.co/edit/7b4CmQqnm3L70QL9FgQD

我尝试将产生标题的代码移到大括号};之外,虽然这解决了重复项问题,但这只会导致标题中的selectedState停留在“阿拉巴马州” 。”

我还尝试过修改onchange()函数,以使其以与更新表时删除#title div相似的方式删除table div。尽管这成功地完全删除了#title div,但新标题不会被重绘-只会被删除。

我尝试将标题或标题的一部分定义为常量。但是我只是语法错误。 有人可以演示基于this Plunker的标题更新的正确方法吗?我已经尝试过针对.enter.update.exit的教程,但是我根本不知道如何应用它们-即使它们适用于我的情况。

1 个答案:

答案 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