如何使用Blade传递PHP变量来遍历JavaScript代码

时间:2015-10-21 16:13:35

标签: javascript php blade

我正在使用chart.js显示一些数据,当代码是这样的时候一切正常:

的JavaScript /刀片

 var pieDataAssignments = [

                @for($i = 0;$i<count($name);$i++)

            {
                value: {!! count(array_filter($ass_c,create_function('$a','return $a=="'.$name[$i].'";')))!!},
                color: 'pink',
                highlight: "#eaa5a2",
                label: 'Subject'
            },

                @endfor

        ];

然后我认为它正在工作,它就是这样,我想开始定制饼图。

首先,我尝试单独插入每个变量的值,例如

color: {!! $colour[$i] !!},
etc...

这只是阻止饼图出现,这让我想到了我的失败......

然后我尝试将所有内容插入到第一个Blade调用中,如下所示:

刀片

{!!'

{
    value:'.count(array_filter($ass_c,create_function('$a','return $a=="'.$name[$i].'";'))).',
    color: "'.$colour[$i].'",
    highlight: "#eaa5a2",
    label: "hi"
},

'!!}

但是,它仍然没有出现。

如何循环JavaScript代码并同时传递php变量?我不知道还有什么可以尝试,除了告诉我完全按照我的尝试做什么之外,我在网上找不到任何东西。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,我的代码就是在它自己的实例中重新创建数组。现在可以使用的代码如下:

var pieDataAssignments = [

        @for($i = 0;$i<count($name);$i++)

        {!!'

        {
            value:'.count(array_filter($ass_c,create_function('$a','return $a=="'.$name[$i].'";'))).',
            color: "'.$colour[$i].'",
            highlight: "#eaa5a2",
            label: "'.$name[$i].'"
        },

        '!!}



        @endfor

];