2016-05-31 38 views
1

您好我想加载与C3图 这里日期时间范围动态数据是我的代码:无法加载C3图形数据与阿贾克斯

$.ajax({ 
    [...] 
    success: function(data) { 
     chart.load({ 
      columns: data, 
      unload: chart.columns, 
     }); 
    } 
}); 

Ajax响应是:

[['Friday', 1],['Friday', 3],['Sunday', 1],['Saturday', 2],['Friday', 3],['Friday', 3],['Friday', 5],['Friday', 3],['Monday', 1],['Friday', 1],['Tuesday', 1]] 

成功之后我的图上没有看到任何东西。即使我已评论“卸载” 但仍然相同。如果我静态放置,该功能工作正常。请帮我

+0

它现在工作吗? –

回答

0

你用错了。它不是输出chart函数,而是输出c3函数。下面将生成一个图表(这看起来不太好,但我不知道你在期待什么)。

你也错过了定义一个输出格,因此我加了#chart

var data = [['Friday', 1],['Friday', 3],['Sunday', 1],['Saturday', 2],['Friday', 3],['Friday', 3],['Friday', 5],['Friday', 3],['Monday', 1],['Friday', 1],['Tuesday', 1]]; 
 

 
var data2 = [['Friday', 3],['Friday', 10],['Sunday', 50],['Saturday', 20],['Friday', 15],['Friday', 10],['Friday', 6],['Friday', 8],['Monday', 5],['Friday', 20],['Tuesday', 13]]; 
 

 
var chart = c3.generate({ 
 
    bindto: '#chart', 
 
    data: { 
 
     columns: data 
 
    } 
 
}); 
 

 
setTimeout(function() { 
 
    chart.load({ 
 
     columns: data2 
 
    }); 
 
}, 2000)
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.11/c3.js"></script> 
 

 
<div id="chart"></div>

+0

我知道它的作品,但你有尝试使用AJAX更新 – codeBloger

+0

我添加了延迟更新以显示如何更新它。这够了吗? –

0

你尝试围绕列括号:数据在chart.load函数的参数?这是一段代码,在我的应用程序中工作

$(document).on("click", "#btnPDquant", function(event) { 
$.ajax({ 
url: "PDQuantCalc", 
type: "post", 
data: $('#formPDquant').serialize(), 
success: function(response){ 
    var newdat = JSON.parse(response); 
    chart.x(newdat.year); 
     chart.load({ 
      columns: [ newdat.PDquant ] 
    }); 
} 
event.preventDefault(); // Important! Prevents submitting the form. 
});