欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用EVAL處理jqchart jquery 折線圖返回數(shù)據(jù)無效的解決辦法

 更新時間:2015年11月26日 12:02:59   作者:小手拍拍  
eval函數(shù)可以把一些處理過程序代碼進行解析從而達到可以執(zhí)行的一個狀態(tài),本篇文章給大家介紹使用eval處理jqchart jquery折線圖返回數(shù)據(jù)無效的解決辦法,對jqchart jquery相關(guān)內(nèi)容感興趣的朋友一起學習吧

eval函數(shù)可以把一些處理過程序代碼進行解析從而達到可以執(zhí)行的一個狀態(tài),查了很多帖子,jqchart插件做折線圖時,處理返回數(shù)據(jù)時全都是eval,但我怎么也弄不出來,后來發(fā)現(xiàn):

1、根本不需要eval處理,直接截取字符串即可(返回值要拼接好);

2、處理好的字符串放進series的data里要加上[];

下面是代碼:

html頁面<body>標簽里面只放了一個<div id="jqChart" style="width: 500px; height: 300px;"></div>;

<script>里面
<script type="text/javascript" src="jquery.1.8.2.js"></script>
<script type="text/javascript" src="jquery-jqChart-min.js"></script>
<script type="text/javascript">
$(function () {
 $.get("tgajax.php",function(data){
  var dom = data.substring(0,data.length-1);//主要是對返回數(shù)據(jù)的處理,后面很明顯多了一個","
  //var dom = eval('(' + dom + ')'); 
  //alert( dom);
 $('#jqChart').jqChart({
  title: { text: '線形圖示例' },
  axes: [
   {
    location: 'left',
    minimum: 1,
    maximum: 10,
    interval: 1,
   }
  ],
   series: [
   {
    type: 'line',
    title:'上海',
    markers: null,//拐點不用圓點標示 
    strokeStyle: 'blue' , 
    data: [['json', 1], ['per', 9], ['perter', 3]]
   },
   {
    type: 'line',//line,Column
    title:'北京',
    strokeStyle: 'red' , 
    data:[dom]
   },
   ]
  }); 
});
});
</script>

后臺處理頁面我就用簡單的php弄了,別的也不會

<?php
include ("configaz.php"); //數(shù)據(jù)庫連接在另一個文件內(nèi),這里就不弄了
 $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要求的字符串格式,當然用數(shù)組更好,可惜不怎么會

肯定還有更好的方法 只是我剛開始學,慢慢摸索

相信解決辦法不止以上所述,肯定還有更好的解決辦法,歡迎大家共同學習進步。

ps:ajax讀取數(shù)據(jù),使用jqchart顯示圖表

最近項目中需要顯示出圖表效果,原來收集到的圖表插件終于有用武之地了。

但是和jqchart對比,還是有很多不同之處的。

實現(xiàn)效果:

我就對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軸數(shù)字顯示 
     /* 
     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); 
     */

其次,對于拐點的文字,原來顯示是相應(yīng)的data值,現(xiàn)在需要顯示的是對應(yīng)的x軸名稱:

if( x <= op.width){ 
       var dx=x-op.paddingL,dy=y-op.paddingT; 
       var dxx = i<=0 ? (dx+op.labelDataOffsetX - 5 + 'px'):( dx+op.labelDataOffsetX - 20 + 'px'); //坐標點x軸偏移 
       var dyy = i%2 ? (dy+op.labelDataOffsetY - 25 + 'px'):(dy+op.labelDataOffsetY - 5 + 'px'); //坐標點y軸偏移 
       it.wrtText( 
        //dx+op.labelDataOffsetX - 20 + 'px', 
        dxx, 
        //dy+op.labelDataOffsetY - 10 + 'px', 
        dyy, 
        //op.rows[i],  // pre: 坐標點data值 
        op.txtpointers[i], // cychai:坐標點文字 
        op, 
        "#jQchart-data-D-"+op.id 
       ).css('color',(op.data.length==1)?'#333':strokeStyle) 
       .css({"width":"100px","font-size":"12px"});  // cychai:樣式控制 

使用默認的數(shù)據(jù)可以顯示出來了。接下來就是和開發(fā)的協(xié)作了。

我希望可以使用ajax異步獲取數(shù)據(jù),然后在前臺顯示。

這里,我使用了一個示例頁面chartdata.html, 即需要的數(shù)據(jù)頁

[{labelX : ["外觀設(shè)計","便攜性","易用性","電池待機","攝像功能","變焦"],data :[[5,7,2,3,9,4]]}] 

在前臺,我通過ajax請求該頁面,對返回的json數(shù)據(jù)進行處理,傳遞給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 :["外觀設(shè)計","便攜性","易用性","電池待機","攝像功能","變焦"], 
    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="excanvas-compressed.js" mce_src="excanvas-compressed.js" type="text/javascript" ></mce:script> 
<![endif]--> 
<mce:script src="http://jsgt.org/lib/jquery/plugin/jqchart/sample/v003/lib/jquery-1.2.3.min.js" mce_src="http://jsgt.org/lib/jquery/plugin/jqchart/sample/v003/lib/jquery-1.2.3.min.js" type="text/javascript"></mce:script> 
<mce:script src="jquery.jqchart.js" mce_src="jquery.jqchart.js" type="text/javascript" charset="utf-8"></mce:script> 
</head><body> 
<canvas id="canvasMyID" height="200"></canvas> 
<mce:script type="text/javascript"><!-- 
$(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 :["外觀設(shè)計","便攜性","易用性","電池待機","攝像功能","變焦"], 
    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); 
 } 
}); 
// --></mce:script> 
</body> 
</html> 

OK,大功告成! 完整示例我會放到我的資源里。

好久都沒有用jquery ajax了,拼json數(shù)據(jù)都有些生疏了。還是喜歡開發(fā)這種有邏輯性的工作....

相關(guān)文章

  • 深入學習jQuery中的data()

    深入學習jQuery中的data()

    大家應(yīng)該都會有這樣一種感覺,data函數(shù)在jQuery中看起來很不起眼, 就像沙灘上一顆平凡的沙子, 但仔細一瞅, 卻驚訝的發(fā)現(xiàn)data是jQuery中無比重要的一環(huán), 甚至jQuery中各種事件都基于此。下面就來詳細深入的學習下jQuery中的data(),感興趣的朋友們可以參考借鑒。
    2016-12-12
  • 基于jQuery實現(xiàn)Ajax驗證用戶名是否可用實例

    基于jQuery實現(xiàn)Ajax驗證用戶名是否可用實例

    這篇文章主要為大家詳細介紹了基于jQuery實現(xiàn)Ajax驗證用戶名是否可用實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • JQuery 插件制作實踐 xMarquee插件V1.0

    JQuery 插件制作實踐 xMarquee插件V1.0

    今天要介紹的是實現(xiàn)類跑馬燈效果的的廣告插件。類似偶公司web-dev的同事在網(wǎng)站首頁上做的目錄廣告播放器。其實很簡單,LEVIN實際應(yīng)用中也用到,所以稍作整理如下.
    2010-04-04
  • jQuery 取值、賦值的基本方法整理

    jQuery 取值、賦值的基本方法整理

    這篇文章主要介紹了jQuery 取值、賦值的基本方法,需要的朋友可以參考下
    2014-03-03
  • jQuery+ajax的資源回收處理機制分析

    jQuery+ajax的資源回收處理機制分析

    這篇文章主要介紹了jQuery+ajax的資源回收處理機制,結(jié)合實例形式簡單分析了ajax中complete對象完成回調(diào)之后的資源回收處理機制用法,需要的朋友可以參考下
    2017-01-01
  • 修改Jquery Dialog 位置的實現(xiàn)方法

    修改Jquery Dialog 位置的實現(xiàn)方法

    下面小編就為大家?guī)硪黄薷腏query Dialog 位置的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • jQuery 函數(shù)實例分析【函數(shù)聲明、函數(shù)表達式、匿名函數(shù)等】

    jQuery 函數(shù)實例分析【函數(shù)聲明、函數(shù)表達式、匿名函數(shù)等】

    這篇文章主要介紹了jQuery 函數(shù),結(jié)合實例形式分析了jquery函數(shù)聲明、函數(shù)表達式、匿名函數(shù)等相關(guān)使用技巧,需要的朋友可以參考下
    2020-05-05
  • jquery實現(xiàn)仿JqueryUi可拖動的DIV實例

    jquery實現(xiàn)仿JqueryUi可拖動的DIV實例

    這篇文章主要介紹了jquery實現(xiàn)仿JqueryUi可拖動的DIV,實例分析了jquery模擬jqueryUI實現(xiàn)div拖動的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • jQuery實現(xiàn)簡單的DIV拖動效果

    jQuery實現(xiàn)簡單的DIV拖動效果

    這篇文章主要介紹了jQuery實現(xiàn)簡單的DIV拖動效果,涉及jQuery針對鼠標事件的響應(yīng)及頁面元素的動態(tài)操作技巧,需要的朋友可以參考下
    2016-02-02
  • 推薦9款炫酷的基于jquery的頁面特效

    推薦9款炫酷的基于jquery的頁面特效

    這里給大家推薦9款炫酷的基于jquery的頁面特效,都是本站比較熱門的效果,這里整理出來分享給大家,也方便小伙伴們對比查看
    2014-12-12

最新評論