4

以下のコードでは、データは更新されますが、チャートは同じ位置に再描画されません。私のコードの問題は何ですか?

(必要に応じて firebug で詳細を確認してください - las ドロップダウンが変更されると json が更新されます - カテゴリ デザイナーだけがデータを持っています)

 <script type="text/javascript">
    dojo.query(".estatistica").onchange(function() {
        dojo.xhrPost({
            url: "drop2.php",
            handleAs: "json",
            postData: "data=" + $(this).val(),
            preventCache: true,
            load: function(json) {
                $msgs = [];

                for (var i = 1; i < 10; i++) {
                    $msgs.push(parseFloat(json[i]["valor" + i]));
                }
                var chart1 = new dojox.charting.Chart2D('chart1');
                chart1.addPlot("default", {
                    type: "StackedAreas",
                    markers: true,
                    tension: "S",
                    lines: true,
                    areas: true,
                    labelOffset: 0,

                });
                chart1.addAxis('x');
                chart1.addAxis('y', {
                    vertical: true,
                    max: 80000
                });

                chart1.addSeries('January Visits', $msgs, {
                    stroke: 'red',
                    fill: 'pink'
                });


                chart1.updateSeries("January Visits", $msgs);
                chart1.render();


            var stackedAreaLegend = new dojox.charting.widget.SelectableLegend({
                chart: chart1
            }, "legend1");

            stackedAreaLegend.refresh();

            }
        });
    });
</script>

ありがとう

4

1 に答える 1

0

まず、グラフをレンダリングしてから、更新を行います。次のように、次の2つの行を切り替えるだけです。

            chart1.render();
            chart1.updateSeries("January Visits", $msgs);
于 2011-07-12T05:59:42.443 に答える