雖然很笨的方式,但總比要回去組Java Script字串好,還是先用著
續上篇,一樣用陣列方式輸出High Charts所需資料,加上Click Event
原本events=>"click"方式,等輸出到Java Script時,它會被包成字串,導至Java Script不知道是有event要執行,
走投無路的狀況下,實在找不出什麼方式可以最快速解決。。。換個方向看。。。既然它因為被"click...funcition.."包住了,被誤認成字串
那我把字串符號換掉總行了吧,果然,換掉就可以
我用了一個MYDAS字眼
//---------------------------------------------
//取得XY軸相關資料點
//---------------------------------------------
$serries=array();
foreach($data as $key=>$value)
{
array_push($serries
,array(
"name"=>$key,
"y"=>$value,
"events"=>"MYWDAS click : function(event) { window.location='". URL::asset('Charts/HighCharts/List1/').'/'.$key. "' }MYWDAS",
)
);
}
View端再去把MYDAS字眼置換成{ },果然就ok了,屆時Java Script端正常認到Click enent,會執行script 中的function指令
$(function () {
$('#container').highcharts(
{!! str_replace('MYWDAS"','}', str_replace('"MYWDAS','{', stripslashes(json_encode($localpresenter->getMyCharts($data,$linearray))) )) !!}
);
})
打雜打久了,就變成打雜妹
程式寫久了,就變成老乞丐