0

我有一个网站,我使用 Shield UI Javascript 为授权访问者提供销售数据。我需要添加更多功能——当用户点击一个点时,一个新窗口应该打开,显示公司的网站并最终提供一个参数。我正在使用这样的本地数据绑定:

var salesdata = new Array();
salesdata[0]=12.7;
salesdata[1]=11.3;
salesdata[2]=15.4;
salesdata[3]=17.2;
salesdata[4]=18.4;

dataSeries: [{
    seriesType: 'bar',
    collectionAlias: 'chart',
    data: salesdata
}]

我尝试了不同的方法,但我似乎没有找到正确的方法。基本上我找不到在哪里存储每个点的附加信息 - 相应公司的 url。到目前为止,我发现图表本身没有位置。有任何想法吗?

4

1 回答 1

1

一种对您来说似乎有效的方法是声明另一个包含公司 URL 的数组。由于可能有也可能没有参数,您可以简单地将其放在 url 中:

var  companydata = new Array(); 
companydata[0]="http://www.company_a.com";
companydata[1]="http://www.company_b.com?par=value";
companydata[2]="http://www.company_c.com";
companydata[3]="http://www.company_d.com";
companydata[4]="http://www.company_e.com";
companydata[5]="http://www.company_f.com";

然后您将使用图表的 seriesClick 功能:

            events: {
                seriesClick: function(args) {
                    var URL=companydata[args.point.x];
                    var WindowName="Sales Data for point "+args.point.x;
                    window.open(URL, WindowName, "height=200,width=200");
                }
            },

为点的相应 url 打开一个新窗口。此外,您可以根据公司等调整窗口大小。

于 2013-10-11T13:16:02.253 回答