0

このような値を持つ基本的な円グラフがあります

    <cfchartdata item="January" value="503100">
    <cfchartdata item="February" value="720310">
    <cfchartdata item="March" value="688700">

パイの各部分を特定の URL にリンクしたいと思います。変数を URL に投稿する必要はありません。

私はこのようなことを試しました;

<cfchartdata item="January" value="503100" url="januarydata.cfm">

しかし、URL は 'cfchartdata' の有効な属性ではありません

4

1 に答える 1

4

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&param2=#form.ColdFusionFormVariable#&param3=$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...;
  }
}
于 2013-02-04T16:26:01.873 に答える