在canvasjs dataPoints

时间:2015-10-09 22:54:06

标签: php jquery json canvasjs

我的dataPoints字符串保存在数据库中。 我在php中隐藏变量传递它。 并使用.val()我进入jquery。 现在我必须在canvas js的dataPoints中传递它。

请参阅下面的PHP代码。

<input type="hidden" id="graph_data" name="graph_data" value="<?php echo $graph_data ?>" >

$ graph_data包含以下刺痛。

{x:30,y:[。00,3.20],标签:&#34;驾驶&#34;},{x:10,y:[3.20,5.17],标签:&#34;关闭 - 占空比&#34;}

请参阅我的jquery代码。

var graph_data = $('#graph_data').val();

data: [
    {
        type: "rangeBar",
        dataPoints: [graph_data]
}]

但它不起作用。

3 个答案:

答案 0 :(得分:0)

我猜测graph_data是一个字符串。

尝试:var graph_data = JSON.parse($('#graph_data').val());

答案 1 :(得分:0)

我想知道问题是否实际上不在data,因为它没有封装在对象中。

var data = [
    {
        type: "rangeBar",
        dataPoints: [graph_data]
}];

这是你的错误吗?

答案 2 :(得分:0)

你肯定会以艰难的方式移动数据。

PHP有一个方便的json_encode()函数,几乎可以编码任何Javascript数据。因此,不要试图隐藏表单中的复杂数据,为什么不将这些数据作为javascript的一部分。

像这样:

<script>
var graph_data = <?php json_encode($graph_data); ?>;
var chart = new CanvasJS.Chart("chartContainer",
{
    data: [{
        type: "rangeBar",
        dataPoints: graph_data
    }]
};
<script>

就将PHP中的复杂数据插入Javascript而言,这应该可以解决您的问题。您可以在浏览器中查看源代码,以查看数据到json转换的结果,并确保没有任何语法错误。

请注意,我不确定您是否对CanvasJS的使用进行了整理。从您的原始帖子看起来,您也遇到了麻烦。但是,一次只有一个问题。