如何获取通过“单击添加”生成的一系列点在高图表中?

发布于 2024-12-28 06:16:20 字数 187 浏览 0 评论 0原文

您可以要求用户通过单击向字符添加点来提供数据,请参阅此演示。 但我不知道如何检索这些点并将它们发送回服务器(使用 POST 或 AJAX 等)。我只是想知道如何在 javascript 中获取它们。

You can ask the user to supply data by clicking to adding points to a char, see this demo.
But I don't know how to retrieve those points and send them back to the server (with a POST or AJAX, whatever). I just want to know how to get them in javascript.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

杯别 2025-01-04 06:16:20

只需访问在 javascript 中定义的 chart 变量即可:

<!-- 2. Add the JavaScript to initialize the chart on document ready -->
<script type="text/javascript">
    var chart;
    $(document).ready(function() {
        chart = new Highcharts.Chart({
            ...
        });         
    });
</script>

访问新点,如下所示:

<script type="text/javascript">
    function printObject(o) {
        var out = '';
        for (var p in o) {
            out += p + ': ' + o[p] + '\n';
        }
        alert(out);
    }

    $("#clickme").click(function() {
        for (var i = 0; i < chart.series[0].data.length; i++) {
            printObject(chart.series[0].data[i]);
        }
    });
</script>

Just access the chart variable defined like this in javascript:

<!-- 2. Add the JavaScript to initialize the chart on document ready -->
<script type="text/javascript">
    var chart;
    $(document).ready(function() {
        chart = new Highcharts.Chart({
            ...
        });         
    });
</script>

Access the new points like this:

<script type="text/javascript">
    function printObject(o) {
        var out = '';
        for (var p in o) {
            out += p + ': ' + o[p] + '\n';
        }
        alert(out);
    }

    $("#clickme").click(function() {
        for (var i = 0; i < chart.series[0].data.length; i++) {
            printObject(chart.series[0].data[i]);
        }
    });
</script>
陪你搞怪i 2025-01-04 06:16:20

也许比这更简单,如果您在链接到的演示中使用事件/单击函数,您可以在 addSeries 调用之前捕获值:

...
click: function(e) {
    // find the clicked values and the series
    var x = e.xAxis[0].value,
        y = e.yAxis[0].value,
    series = this.series[0];

    //Do something fun here w/the points: x,y
    ....
    //Stop doing something fun here w/the points    
    // Add it
    series.addPoint([x, y]);
}
....

Perhaps even simpler than that, if you use the event/click function in the demo that you linked to, you can capture the values before the addSeries call:

...
click: function(e) {
    // find the clicked values and the series
    var x = e.xAxis[0].value,
        y = e.yAxis[0].value,
    series = this.series[0];

    //Do something fun here w/the points: x,y
    ....
    //Stop doing something fun here w/the points    
    // Add it
    series.addPoint([x, y]);
}
....
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文