Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 试图将数据从文本字段加载到highchart_Javascript_Highcharts - Fatal编程技术网

Javascript 试图将数据从文本字段加载到highchart

Javascript 试图将数据从文本字段加载到highchart,javascript,highcharts,Javascript,Highcharts,我通过JS填充highchart数据,数据来自页面上的文本框,此内容被动态替换: function myFunction() { var myvar = document.getElementById("TextBox1").value; Highcharts.chart('piechart2', { chart: { plotBackgroundColor: null, plotBorderWidth: null

我通过JS填充highchart数据,数据来自页面上的文本框,此内容被动态替换:

function myFunction() {
    var myvar = document.getElementById("TextBox1").value;

    Highcharts.chart('piechart2', {
        chart: {
            plotBackgroundColor: null,
            plotBorderWidth: null,
            plotShadow: false,
            type: 'pie'
        },
        credits: {
            enabled: false
        },
        title: {
            text: 'Data, 2018'
        },
        tooltip: {
            pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
        },
        plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: {
                    enabled: true,
                    format: '<b>{point.name}</b>: {point.percentage:.1f} %',
                    style: {
                        color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
                    }
                }
            }
        },
        series: [{ name: 'Permits', data: myvar }]
    });
};
我的文本字段:

<input name="TextBox1" value="[{"name":"Closed","y":1},{"name":"Rejected","y":1}]" id="TextBox1" type="text">
当前执行JS时,图表没有呈现,我相信这是因为用于数据的myvar没有正确复制。如果我将“myvar”替换为文本框的内容,图表将正确呈现


感谢您的帮助

我猜您要设置值的字符串有一个示例输入?看起来你想要一个字符串化的json之类的东西?如果是这样的话,你需要在整件事周围使用一种报价,然后在内部报价中使用另一种报价,如下所示:

value='[{"name":"Closed","y":1},{"name":"Rejected","y":1}]'
那么我猜在你把它交给高分排行榜之前,你需要对它进行解构

var myvar = document.getElementById("TextBox1").value;
myvar = JSON.parse(myvar)

这假设您希望在文本框中键入有效的json,这可能不是一个好的假设。另一种解决方案可能是有多个输入,一个输入获取您所需的每个值,然后您可以将它们全部粘贴到一个格式正确的对象中。

尝试使用JSON.parsemyvar将其解析为JSON,它现在以字符串的形式运行。非常感谢Steve,现在一切正常。这让我快发疯了!