我有一个基本的饼图,其中包含这样的值
<cfchartdata item="January" value="503100">
<cfchartdata item="February" value="720310">
<cfchartdata item="March" value="688700">
我想将每个饼图链接到一个特定的网址 - 我不需要将任何变量发布到网址。
我试过这样的事情;
<cfchartdata item="January" value="503100" url="januarydata.cfm">
但是URL不是'cfchartdata'
的有效属性答案 0 :(得分:4)
url
属性属于CFChart标记,而非CFChartData标记
URL:
如果用户点击数据系列中的项目,则打开的网址; onClick 目的地页面。
您可以在URL字符串中指定变量; ColdFusion通过 变量的当前值。
$ VALUE $:所选行的值。如果不是,则该值为空 串。
$ ITEMLABEL $:所选项目的标签。如果没有,那么 value是一个空字符串。
$ SERIESLABEL $:所选标签 系列。
如果不是,则该值为空字符串,例如: “somepage.cfm项= $ ITEMLABEL $&安培;系列= $ SERIESLABEL $&安培;值= $ $ 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
或旧的CFIF
/ { {1}}如果没有那么多组合。
<强> - 或 - 强>
你可以使用javaScript:选项并运行一个使用window.location的函数,具体取决于所点击的系列。
CFELSE
js功能可能如下所示:
javaScript:goto($itemSeries$,$seriesLabel$)