2014-10-01 57 views
1

我在我的网站中使用了Morris图表,但是当我以动态方式以JSON格式发送数据时,它不起作用。但与此同时,如果我手动推送数据,则它开始工作。 请提出一些建议。即使在以Json格式发送数据之后,Morris图表也无法使用动态数据

下面是代码

function generateUserGraph() { 
 
      // some logic and below object is return 
 
      var toreturn = "{ Y: '10000001', A: '-1' }, { Y: '10000045', A: '1' }"; 
 
      return toreturn; 
 
     } 
 

 
     Morris.Bar({ 
 
      element: 'NLcurrentProgressBar', 
 
      resize: true, 
 
      data: [generateUserGraph()], 
 
      barColors: function (row, series, type) { 
 
       if (row.y == 0) { 
 
        return ['#6D5858']; 
 
       } 
 
       else if (row.y < 0) { 
 
        return ['#E71717']; 
 
       } 
 
       else { 
 
        return ['#00a65a']; 
 
       } 
 
      }, 
 
      xkey: ['Y'], 
 
      ykeys: ['A'], 
 
      labels: ['<a href="www.google.com">Question</a>'], 
 
      hideHover: 'auto' 
 
     });
<div id = "NLcurrentProgressBar"></div>

在上面的代码请建议。如果我直接通过上面的字符串,然后它工作,但是当我通过使用功能,它再没有结果呈现

like : below code is working : 
 
data: [{ Y: '10000001', A: '-1' }, { Y: '10000045', A: '1' }],

but this is not working : 
 
data: [generateUserGraph()]

+0

除非你证明你有不工作的代码的小例子,这里没有人可以帮你。 – 2014-10-01 14:18:58

+0

'data:{Y:'10000001',A:'-1'},{Y:'10000045',A:'1'}'真的有用吗? – Krzysiek 2014-10-02 06:40:43

+0

是的,它正在工作......让我试着在jsfiddle中提供它的一些样本。 – 2014-10-02 06:42:37

回答

0

你必须提供对象的数组,但你的函数返回字符串!

function generateUserGraph() { 
     // some logic and below object is return 
     var toreturn = [{ Y: '10000001', A: '-1' }, { Y: '10000045', A: '1' }]; 
     return toreturn; 
    } 

    Morris.Bar({ 
     element: 'NLcurrentProgressBar', 
     resize: true, 
     data: generateUserGraph(), 
     barColors: function (row, series, type) { 
      if (row.y == 0) { 
       return ['#6D5858']; 
      } 
      else if (row.y < 0) { 
       return ['#E71717']; 
      } 
      else { 
       return ['#00a65a']; 
      } 
     }, 
     xkey: ['Y'], 
     ykeys: ['A'], 
     labels: ['<a href="www.google.com">Question</a>'], 
     hideHover: 'auto' 
    }); 
+0

嗨,即使这是行不通的,它是仍然将其视为String。请建议如何以正确的格式转换它。 – 2014-10-02 06:39:50

+0

http://jsbin.com/uzosiq/258/embed?javascript,live找到3个区别:P – Krzysiek 2014-10-02 06:42:16

+0

嗨Krzysiek,字符串被转换为对象:) ..但实际上我在连接各种字符串之后动态创建“toreturn”字符串通过在localStorage中使用一些值,这就是为什么我返回一个字符串。请帮我解决这种情况,我正在准备localStorage的数据,有没有其他的办法,可能是我走错了方向。请建议。 – 2014-10-02 07:04:12

0

我发送字符串不是对象并解决此问题。我们需要以对象格式推送数据。

Working Link

相关问题