使用作为参数传入的JS字符串变量作为chart.js中数据参数的值?

时间:2017-04-12 15:05:29

标签: javascript php jquery

这是相对不正常的Javascript。参数 thisChartData 是一个字符串,它提醒就好了;它是由其他地方的PHP脚本生成的(但这并不重要)。

如果我将警报输出复制并粘贴到数据部分,则图表生成正常。但由于某种原因,我不能在数据部分使用参数名称

            function drawChart( thisChartData, thisChartTitle ) {
                var ctx = $("#my-chart");
                alert(thisChartData); // alerts->    '131', '1043', '144', '43'

            //chart data
                var ctxData = {                     
                    datasets: [{
                        data: [ thisChartData ], //using the paramter variable doesn't work
                        backgroundColor: [ <?php echo $bg_color_list; ?> ]                      
                    }]
                };

同时下面的代码运行正常,我需要根据我传递给函数的内容来变量数据,因为我将要滚动几个数据集。

     function drawChart( thisChartData, thisChartTitle ) {
            var ctx = $("#my-chart");
            alert(thisChartData); // alerts->    '131', '1043', '144', '43'

        //chart data
            var ctxData = {                     
                datasets: [{
                    data: [ '131', '1043', '144', '43' ], 
                    backgroundColor: [ <?php echo $bg_color_list; ?> ]                        
                }]
            };

1 个答案:

答案 0 :(得分:1)

data: [ thisChartData ]应为data: thisChartData,当您致电drawChart时,请传入数组。 E.g:

function drawChart( thisChartData, thisChartTitle ) {
    var ctx = $("#my-chart");

    //chart data
    var ctxData = {                     
        datasets: [{
            data: thisChartData,  // <======
            backgroundColor: [ <?php echo $bg_color_list; ?> ]                      
        }]
    };

drawChart(['131', '1043', '144', '43'], "title");