我爲我的一個應用程序使用CF餅圖。但它工作怪異。以下代碼是圖表代碼,它提供了一個錯誤。它甚至不顯示圖表。我知道,這是由於查詢列col1
的值存在雙引號。在SERIESLABEL或ITEMLABEL中存在單引號或雙引號給CFCHART中的錯誤
<cfoutput>
<script type="text/javascript">
function Navigate(test){
alert(test);
}
</script>
<cfset testquery = queryNew("col1,Col2", "varchar,varchar") >
<cfset queryAddRow(testquery, 1)>
<cfset querySetCell(testquery, "col1", 'This is the "first" row') >
<cfset querySetCell(testquery, "Col2", 5000) >
<cfset queryAddRow(testquery, 1)>
<cfset querySetCell(testquery, "col1", 'This is the second row') >
<cfset querySetCell(testquery, "Col2", 2500) >
<cfset queryAddRow(testquery, 1)>
<cfset querySetCell(testquery, "col1", 'This is the third row') >
<cfset querySetCell(testquery, "Col2", 8500) >
<CFCHART Format="Html" CHARTWIDTH="600" CHARTHEIGHT="650" TITLE="Pie Chart in CF11" URL="javascript:Navigate('$SERIESLABEL$')">
<CFCHARTSERIES TYPE="pie" COLORLIST="##CA5940,##6FCF42,##4286CF" >
<CFLOOP FROM="1" TO="#testquery.RecordCount#" INDEx="i">
<CFCHARTDATA ITEM="#testquery.col1[i]#" VALUE="#testquery.Col2[i]#">
</CFLOOP>
</CFCHARTSERIES>
</CFCHART>
</cfoutput>
我檢查圖表的JSON在viewsource,它是好的。但代碼給出了上述錯誤。所以不知道它爲什麼給錯誤。沒有雙引號,代碼按預期工作,但我需要雙引號,它會影響應用程序,如果我刪除它。
我也嘗試將雙引號替換爲單引號,在這種情況下,圖表正在顯示,但如果我們單擊第一行區域,它會在控制檯中給出相同的錯誤。
因此,使用引號是主要的問題就在這裏。但我需要上面的代碼來顯示圖表,並在點擊該區域時,它應該顯示相應的標籤。
我不確定我錯過了什麼,或者代碼中有任何錯誤。
是的,我已經嘗試過,但沒有運氣。僅供參考:我正在使用cf11。 –
當我在trycf.com上使用您的示例嘗試它時,它工作正常。我會爲答案添加一個要點。 –
使用JSStringFormat()而不是手動轉義字符串會更簡單嗎? –