eval函数可以把一些处理过程序代码进行解析从而达到可以执行的一个状态,查了很多帖子,jqchart插件做折线图时,处理返回数据时全都是eval,但我怎么也弄不出来,后来发现:
1、根本不需要eval处理,直接截取字符串即可(返回值要拼接好);
2、处理好的字符串放进series的data里要加上[];
下面是代码:
html页面<body>标签里面只放了一个<div id="jqChart" style="width: 500px; height: 300px;"></div>;
<script>里面 <script type="text/javascript" src="/UploadFiles/2021-04-02/jquery.1.8.2.js">后台处理页面我就用简单的php弄了,别的也不会
<"configaz.php"); //数据库连接在另一个文件内,这里就不弄了 $sql="select sid,sname,sprice,count(sprice) as pricenum from shangpin group by sname"; $query=mysql_query($sql); $row=mysql_fetch_array($query); while($row=mysql_fetch_array($query)){ $pricenum=$row['pricenum']; $sname=$row['sname']; } echo $str .= "['".$sname."',".$pricenum."],";//拼接字符串,按照jqChart要求的字符串格式,当然用数组更好,可惜不怎么会肯定还有更好的方法 只是我刚开始学,慢慢摸索
相信解决办法不止以上所述,肯定还有更好的解决办法,欢迎大家共同学习进步。
ps:ajax读取数据,使用jqchart显示图表
最近项目中需要显示出图表效果,原来收集到的图表插件终于有用武之地了。
但是和jqchart对比,还是有很多不同之处的。
实现效果:
我就对jqchart进行了重新编写。
首先要解决的是不显示x轴和y轴:
//各DIV作成 // 取消标题显示 /* this.titleBox//Title =this.mkBoxElement('T', this.op.titleLeft,this.op.titleTop ).appendTo(this.jQcanvasBox) .css('width',this.op.width-this.op.titleLeft)//fix for safari3 2007.12.4 .get(0); */ // 取消y轴数字显示 /* this.scaleYBox//Y軸スケール =this.mkBoxElement('Y', this.op.scaleYLeft,this.op.scaleYTop ).appendTo(this.jQcanvasBox).get(0); */ // 取消x轴分类显示 /* this.scaleXBox//X軸スケール =this.mkBoxElement('X', this.op.scaleXLeft,this.op.scaleXTop ).appendTo(this.jQcanvasBox).get(0); */其次,对于拐点的文字,原来显示是相应的data值,现在需要显示的是对应的x轴名称:
if( x <= op.width){ var dx=x-op.paddingL,dy=y-op.paddingT; var dxx = i<=0 "#jQchart-data-D-"+op.id ).css('color',(op.data.length==1)"width":"100px","font-size":"12px"}); // cychai:样式控制使用默认的数据可以显示出来了。接下来就是和开发的协作了。
我希望可以使用ajax异步获取数据,然后在前台显示。
这里,我使用了一个示例页面chartdata.html, 即需要的数据页
[{labelX : ["外观设计","便携性","易用性","电池待机","摄像功能","变焦"],data :[[5,7,2,3,9,4]]}]
在前台,我通过ajax请求该页面,对返回的json数据进行处理,传递给chartSetting:
$(function(){ $.ajax({ url: "chartdata.html", type: "GET", success: function(cdata){ showDDChart(cdata); } }); function showDDChart(cdata){ var dd_chart = eval(cdata)[0]; var chartSetting={ config : { title : "", titleLeft: 70, labelX :dd_chart.labelX, //labelX :["外观设计","便携性","易用性","电池待机","摄像功能","变焦"], scaleY : {min: 0,max:10,gap:2}, width: 300+25, height: 125+50, paddingL : 10, paddingT : 10 }, //data: [[5,3,1,8,4,9]] data :dd_chart.data }; $('#canvasMyID').jQchart(chartSetting); } });完整的html页面:
<head> <!--[if IE]> <mce:script src="/UploadFiles/2021-04-02/excanvas-compressed.js">OK,大功告成! 完整示例我会放到我的资源里。
好久都没有用jquery ajax了,拼json数据都有些生疏了。还是喜欢开发这种有逻辑性的工作....
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 保时捷原厂车载爆棚动态试音碟《Panamera_Soundtrack》DTS[WAV分轨][1G]
- 容祖儿《小小》香港首版 [WAV+CUE][1.1G]
- 莫文蔚《拉活…》SONY [WAV+CUE][1G]
- Beyond《极品天碟》LPCD45II首批限量版[WAV+CUE][1.7G]
- HIFI示范巅峰之作《情解药·Hi-Fi心魂》2CD[WAV+CUE]
- 房东的猫2021-关于彻夜不眠的事情(EP)[青柴文化][WAV+CUE]
- 群星.1993-一曲成名·青春无悔【飞碟】【WAV+CUE】
- 张芸京.2016-失败的高歌【泡耳音乐】【WAV+CUE】
- 天籁女声《2024第31届上海国际高端音影展纪念CD》[WAV+CUE][1.1G]
- 姚斯婷 《敢爱敢做》头版限量编号24K金碟[低速原抓WAV+CUE][1.2G]
- 雷婷 《把爱留在昨天》紫银合金AQCD[低速原抓WAV+CUE][1.1G]
- 董文华2024-《精选30年·长城长HQ》头版限量[WAV+CUE]
- 柏菲·魏松2024-《跟你走》限量开盘母带ORMCD[WAV+CUE]
- 柏菲·甘雅丹《雅鲁藏布》限量开盘母带ORMCD[WAV+CUE]
- 孙露《明天你是否依然爱我》1:1母盘直刻[低速原抓WAV+CUE][1G]