0

我在我的 Javascript 中使用以下代码段 -

plotOptions: {
    series: {
        cursor: 'pointer',
        point: {
            events: {
                click: function() {
                    hs.htmlExpand(null, {
                        pageOrigin: {
                            x: this.pageX,
                            y: this.pageY
                        },
                        headingText: this.series.name,
                        maincontentText: 
                                'Value1:' + this.x +
                                ' Value2:' + this.y,
                        width: 300
                    });
                }
            }
        },
        marker: {
            lineWidth: 1
        }
    }
},

这是生成图表的函数的一部分,当用户单击图表上的一个点时,前面的代码将加载一个带有值的弹出窗口this.xthis.y作为正文文本。

但是,一旦单击该点,我需要传递this.xthis.y返回到 C# 以在函数中使用。

我厌倦了在函数顶部创建 2 个变量:var X然后var Y在单击该点时将它们设置在函数中,例如 -

 headingText: this.series.name,
 maincontentText: 
 'Value1:' + this.x +
 ' Value2:' + this.y,
 width: 300
 X = this.x
 Y = this.y

但是添加该功能会导致错误-

Error: 'chart' is undefined
4

4 回答 4

1

我相信解决方案可能就像缺少逗号一样简单。

 headingText: this.series.name,
 maincontentText: 
 'Value1:' + this.x +
 ' Value2:' + this.y,
 width: 300,
 X = this.x,
 Y = this.y
于 2013-11-04T11:39:00.790 回答
0

您可以添加两个文本框并设置 display:none;

然后从 X 和 Y 设置文本框的值并从后面的代码中使用它们

var x  = this.x;
var y  = this.y; 
$('#TextBox1').val($('#TextBox1').val().replace($('#TextBox1').val(), x));
$('#TextBox2').val($('#TextBox2').val().replace($('#TextBox2').val(), y));
于 2013-11-04T11:38:18.397 回答
0

用逗号(,)分隔值。

width: 300,
 X = this.x,
 Y = this.y

您错过了逗号,这就是它给出错误的原因。

于 2013-11-04T11:44:25.947 回答
0

问题是您将变量与扩展器选项混淆。这是正确的代码:

           click: function() {

                window.X = this.x;
                window.Y = this.y;

                hs.htmlExpand(null, {
                    pageOrigin: {
                        x: this.pageX,
                        y: this.pageY
                    },
                    headingText: this.series.name,
                    maincontentText: 
                            'Value1:' + this.x +
                            ' Value2:' + this.y,
                    width: 300
                });
            }
于 2013-11-04T11:55:51.437 回答