我有一个使用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
}]
我尝试了不同的方法,但我似乎找不到正确的方法。基本上我找不到在哪里存储每个点的附加信息 - 相应公司的网址。到目前为止,我发现图表本身没有位置。有什么想法吗?
答案 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");
}
},
为该点的相应网址打开一个新窗口。此外,您可以根据公司等调整窗口大小。