javascript - jQuery .html() 不会替换 javascript 图表

标签 javascript jquery dojo

我正在使用 jQuery 的 ajax 调用从 Dojo 工具包创建一个图表,基于他们对下拉菜单的选择。问题是它没有替换图表,而是将其向下推并显示其上方的下一个图表。如果我用文本切换图表,它会正确替换文本。

$('#listID').on('change',function()
{
    var input = $(this).attr("value");
    $.post("helper.php", { input: input, username: username }, function(data){
        $('#chart').html(data.chart);
    }, "json");
});
<div id="chart"></div>
<div id="chartOne" style="width: 400px; height: 240px; "></div>

正在插入的图表:

<script>
require(["dojox/charting/Chart", "dojox/charting/axis2d/Default", "dojox/charting/plot2d/StackedAreas", "dojox/charting/themes/Wetland" , "dojo/ready"],
  function(Chart, Default, StackedAreas, Wetland, ready){
    ready(function(){
      var c = new Chart("chartOne");
  c.addPlot("default", {type: StackedAreas, tension:3})
    .addAxis("x", {fixLower: "major", fixUpper: "major"})
    .addAxis("y", {vertical: true, fixLower: "major", fixUpper: "major", min: 0})
    .setTheme(Wetland)
    .addSeries("Series A", [1, 2, 0.5, 1.5, 1, 2.8, 0.4])
    .addSeries("Series B", [2.6, 1.8, 2, 1, 1.4, 0.7, 2])
    .addSeries("Series C", [6.3, 1.8, 3, 0.5, 4.4, 2.7, 2])
    .render();
    });
});
</script>

最佳答案

发生这种情况是因为您正在渲染脚本标签(到#chart)并且脚本标签正在渲染到第二个位置(#chartOne),第二个位置永远不会被清除。

关于javascript - jQuery .html() 不会替换 javascript 图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12105234/

相关文章:

javascript - onEnded 事件未在 Dojo 对话框中触发

javascript - jQuery 的悬停行为问题

javascript - 将缓冲区存储在 DataView 中,然后使用 Float64Array 提取不起作用

jquery - 正确对齐/居中 bootstrap3 图像

javascript - 如何在单击而不是悬停时扩展导航栏?

css - 如何对齐 dijitTextbox 中的文本?

javascript - C++ 中的 unsigned short * 和 wchar_t 错误

javascript - 有没有办法告诉 grunt node_modules 在哪里?

Javascript 在教程中未声明窗口大小

javascript - Dojo Dijit 日历小部件使用 DisabledDate 禁用除少数几个日期之外的所有日期