2015-09-15 5 views
5

Ich möchte Daten zu Morris Balkendiagramm über Ajax hinzufügen. Im Anschluss an die json, die ich in Ajax-Erfolgwie dynamische Daten zu Morris Balkendiagramm hinzufügen

[{"x":"2014-10-02","y":"1"},{"x":"2014-10-19","y":"1"},{"x":"2014-10-20","y":"1"},{"x":"2014-11-13","y":"1"}]

folgenden wird der js Code

var chart = Morris.Bar({ 
     element : 'normal-bar-graph', 
     data : [{ 
      "x" : null, 
      "y" : null 
     }], 
     xkey : 'x', 
     ykeys : ['y'], 
     labels : ['Added'] 
    }); 
$.ajax({ 
      type: "POST", 
      url: "some_url", 
      data: {'user_report':[k,v]}, 

      success: function(html)      
      { 
       if(html == "error") 
       { 
       alert('error'); 
       } 
       else 
       { 
        chart.setData(html); 

       } 
       hide_loading(); 
      } 
     }); 

bin mit /morris/raphael.2.1.0.min.js und /morris/morris.min.js bekommen. Die chart.setData(html); Funktionalität funktioniert nicht wie in der Dokumentation von Morris angegeben.

danke im voraus. Bitte weisen Sie mich auf Fehler hin.

haben auch eine jsbin wenn das helfen kann: morris

Antwort

4

die Anführungszeichen entfernen. erwartet ein Array. Wenn Sie Anführungszeichen verwenden, konvertiert es das in eine Zeichenfolge anstelle von Array.

Gefällt mir: chart.setData([{ "y": "2006", "a": 100, "b": 90 },{ "y": "2006", "a": 100, "b": 90 }]);

+0

Aber es zeigt nur eine Grafik. Auch wenn ich Daten über Ajax erhalten möchte, 'chart.setData()'. – dhpratik

+0

@dhpratik: Was meinst du mit "* es zeigt nur eine Grafik *"? Die oben beschriebene Lösung sollte funktionieren oder Sie sagen uns nicht das ganze Bild. – D4V1D

+1

Ja. Sieht so aus, als wäre das wegen eines Fehlers - https://github.com/morrisjs/morris.js/issues/105 Aktualisieren Sie Ihre Skripte auf die neueste Version von Morris Bargraph und alles funktioniert. http://jsbin.com/kiduwuseda/edit?html,js,output. Aber meine ursprüngliche Lösung _ist_ die Lösung für Ihre Frage. – afrin216

Verwandte Themen