该url
属性属于CFChart标签,而不是CFChartData标签
网址:
如果用户单击数据系列中的项目,则打开 URL;onClick 目标页面。
您可以在 URL 字符串中指定变量;ColdFusion 传递变量的当前值。
$VALUE$:所选行的值。如果没有,则该值为空字符串。
$ITEMLABEL$:所选项目的标签。如果没有,则该值为空字符串。
$SERIESLABEL$:所选系列的标签。
如果没有,则该值为空字符串,例如:“somepage.cfm?item=$ITEMLABEL$&series=$SERIESLABEL$&value=$VALUE$
“javascript:...”:执行客户端脚本。
如果要进行动态搜索,可以将上述动态值与静态值和其他 CF 值混合使用。例如:
<cfchart url="someSearchPage.cfm?param1=Static Text¶m2=#form.ColdFusionFormVariable#¶m3=$ITEMLABEL$" ...>
在此示例中,$ITEMLABEL$ 会自动转换为标签。
免责声明
在回答您的实际问题之前,我应该指出,这不是一个好的做法,并且违背了动态网站的全部目的。您应该考虑一个接受参数并根据该参数从数据库中提取数据的页面。例如monthlyData.cfm?month=january
最简单的方法是将项目标签放在文件名中,正如您在评论中确认的那样。
<cfchart url = "$itemLabel$data.cfm" ...>
如果您需要在发送用户之前进行更多测试,您可以将他们发送到单个 ColdFusion 页面并使用CFSWITCH
/CFCASE
或 good old CFIF
/CFELSE
如果没有那么多组合。
-或者-
您可以使用 javaScript: 选项并根据单击的系列运行使用 window.location 的函数。
javaScript:goto($itemSeries$,$seriesLabel$)
js 函数可能如下所示:
function goto(item,label){
if(item == "..." && label== "..."){
document.location = "...";
}else{
etc...;
}
}