我的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]
}]
但它不起作用。
答案 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的使用进行了整理。从您的原始帖子看起来,您也遇到了麻烦。但是,一次只有一个问题。