【问题标题】:javascript char.js data.addRow dont read number from jsonjavascript chart.js data.addRow 不从 json 读取数字
【发布时间】:2018-10-31 05:41:52
【问题描述】:

我无法让图表从 json 中读取数字 我将 json 传递给 js,data.addRow 中的图表不会像数字一样读取年龄,如果我把数字正常工作的话。我需要知道做所有的代码,这只是一个更大的项目的测试。

    <!doctype html>
<html>
<head>
    <?php
    $$estudent[]=array(
    "name" => "luis", 
    "age" => "10");
    $objJson=json_encode($estudent);
    ?>

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">

    var json=eval(<?php echo $objJson; ?>);

    google.charts.load('current', {'packages':['corechart']});
    google.charts.setOnLoadCallback(drawChart);

    function drawChart() {

        var data = new google.visualization.DataTable();
        data.addColumn('string', 'NAME');
        data.addColumn('number', 'AGE');

        for(i = 0; i < json.length; i++)
            data.addRow([json[i].name, json[i].age ]);
            /// do not work the Json[i].age in the number colunm
            //if i use a number like 10 works

        var options = {'title':'TITTLE','width':500,'height':300};

        var chart = new 
google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, options);
    }
</script>
</head>
    <body>
        <div id="chart_div"></div>
    </body>
</html>

【问题讨论】:

    标签: javascript arrays charts google-visualization


    【解决方案1】:

    您可以使用parseFloatparseInt...

    data.addRow([json[i].name, parseFloat(json[i].age) ]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-25
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      相关资源
      最近更新 更多