为Shield UI JavaScript数据系列点的每个点打开特定位置

时间:2013-10-11 08:18:01

标签: javascript shieldui

我有一个使用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
}]

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

1 个答案:

答案 0 :(得分:1)

对您而言似乎有效的方法是声明另一个包含公司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");
                }
            },

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