url
属性は、CFChartDataタグではなく、CFChartタグに属します。
URL:
ユーザーがデータ系列のアイテムをクリックした場合に開く 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$ は自動的にラベルに変換されます。
免責事項
実際の質問に答える前に、これは良い習慣ではなく、動的な Web サイトの目的全体に反することを指摘しておく必要があります。パラメータを受け入れ、そのパラメータに応じてデータベースからデータを取得する単一のページを検討する必要があります。例えばmonthlyData.cfm?month=january
最も簡単な方法は、コメントで確認したように、アイテムラベルをファイル名に入れることです。
<cfchart url = "$itemLabel$data.cfm" ...>
ユーザーを送信する前にもう少しテストを行う必要がある場合は、ユーザーを 1 つの ColdFusion ページに送信し、組み合わせがそれほど多くない場合はCFSWITCH
/CFCASE
または古き良きCFIF
/を使用できます。CFELSE
-また-
javaScript: オプションを使用して、クリックされたシリーズに応じて window.location を使用する関数を実行できます。
javaScript:goto($itemSeries$,$seriesLabel$)
js 関数は次のようになります。
function goto(item,label){
if(item == "..." && label== "..."){
document.location = "...";
}else{
etc...;
}
}