2013-02-04 3 views
0

은 내가 특정 URL에 파이의 각 부분을 연결하고 싶습니다이ColdFusion : 원형 차트의 각 부분을 특정 URL에 연결하는 방법은 무엇입니까?

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

같은 값으로 기본 파이 차트를 가지고 - 나는 URL에 어떤 변수를 게시 할 필요가 없습니다.

나는 이것을 다음과 같이 시도했다.

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

하지만 URL은 'cfchartdata'는 url 속성은 CFChart 태그에 속하는

+2

그 양식 또는 url 변수 (이 경우 url)를 봅니다. 12 페이지가 아니라 1 페이지를 유지해야합니다.하지만 제 답변에서이 방법을 사용할 수있는 방법을 제공했습니다. – Travis

답변

4

아닌 CFChartData 태그

URL에 대한 유효한 속성되지 않습니다 :

URL을 엽니 다 사용자가 데이터 계열의 항목을 클릭하면; onClick 목적지 페이지.

URL 문자열 내에 변수를 지정할 수 있습니다. ColdFusion은 변수의 현재 값을 으로 전달합니다.

  • $ VALUE $ : 선택한 행의 값입니다. 없는 경우 값은 빈 문자열입니다.

  • $ ITEMLABEL $ : 선택한 항목의 레이블. 없는 경우 값은 빈 문자열입니다.

  • $ SERIESLABEL $ : 선택한 시리즈의 레이블.

  • 것도, 값이 예를 들어, 빈 문자열,없는 경우 : "? somepage.cfm 항목 = $ ITEMLABEL $ & 시리즈 = $ SERIESLABEL $ & 값 = $의 VALUE $

  • "자바 스크립트 :. ... ": 클라이언트 측 스크립트를 실행

당신이 위의 정적 및 다른 CF 값과 혼합 예를 들어, 동적 값을 사용할 수있는 동적 검색 수행하려는 경우 :..를

,536,
<cfchart url="someSearchPage.cfm?param1=Static Text&param2=#form.ColdFusionFormVariable#&param3=$ITEMLABEL$" ...> 

이 예제에서 $ ITEMLABEL $은 레이블로 자동 변환됩니다.

실제 질문에 대답하기 전에 포기


, 나는 이것이 좋은 방법이 아닙니다 및 동적 웹 사이트의 전체 목적을 망가 뜨리는 것을 지적한다. 매개 변수를 허용하고 해당 매개 변수에 따라 데이터베이스에서 데이터를 가져 오는 단일 페이지를 고려해야합니다. 예를 monthlyData.cfm?month=january


를 들어 가장 간단한 방법은 당신이 코멘트에서 일 확인 된 파일 이름의 항목 레이블을 넣어하는 것입니다.당신이 따라 사용자를 보내기 전에 좀 더 테스트를 할 필요가있는 경우

<cfchart url = "$itemLabel$data.cfm" ...> 

, 단일 ColdFusion 페이지로 전송하고 사용할 수 CFSWITCH/CFCASE 또는 오래된 좋은 CFIF/CFELSE 많은 조합이없는 경우 . 옵션에서는 window.location은 일련의 클릭에 따라 사용하는 기능을 실행

당신이 자바 스크립트를 사용할 수 - 또는

.

javaScript:goto($itemSeries$,$seriesLabel$) 

JS 기능은 보일 수 있습니다 같은 : 그것은 JanuaryData.cfm FeburaryData.cfm 등 ... 단지 monthlyData.cfm 개월 = 월이 내 관점에서 이해가되지 않습니다

function goto(item,label){ 
    if(item == "..." && label== "..."){ 
    document.location = "..."; 
    }else{ 
    etc...; 
    } 
} 
+0

그렇다면 변수를 게시하지 않고도 piechart의 다른 부분에서 특정 URL을 요청하려면 어떻게해야합니까? – blarg

+0

내 대답을 업데이트했습니다. 도움이되기를 바랍니다. – Travis

+0

Darn. 너무 긴 타이핑을하고 트래비스는 자신의 반응을 다시 업데이트하고 그것에 나를 이겼다 ;-) – Leigh