Использовать скрытую html переменную в canvasjs dataPoints

Моя строка dataPoints сохранена в базе данных.
Я передаю это в скрытой переменной в php.
И используя .val () я получаю в jquery.
Теперь я должен передать это в dataPoints canvas js.

Смотрите мой ниже код php.

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

$ graph_data содержит строчку ниже.

{x: 30, y: [. 00, 3.20], метка: «Вождение»}, {x: 10, y: [3.20, 5.17], метка: «Не в рабочем состоянии»}

пожалуйста, смотрите мой код JQuery.

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

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

но это не работает.

-1

Решение

Я предполагаю, что graph_data это строка

Пытаться: var graph_data = JSON.parse($('#graph_data').val());

0

Другие решения

Мне интересно, не проблема ли на самом деле data так как это не заключено в объекте.

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

Это твоя ошибка?

0

Ах! Попробуй это: <input type="hidden" id="graph_data" name="graph_data" value="<?php echo str_replace('"', '\\"', $graph_data) ?>" >

Я думаю, что происходит то, что кавычка value = ‘(«) заканчивается кавычкой» Driving «.

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 разобрались. Из вашего оригинального поста выглядело, как будто у вас тоже были проблемы с ним. Но одна проблема за раз.

0