t.replace不是函数(...)修剪

时间:2016-11-03 11:10:38

标签: javascript php jquery json leaflet

以下是在我检查console.log时产生问题中的错误并将其分解

var map = L.map('map').setView([0, 0], 2);

<?php 
    $classesForCountries = [];
    if (have_posts()) : while (have_posts()) : the_post();
        $classesForCountries[ get_field('country') ] += get_field('year') + ' ';
    endwhile; endif;
?>

// Now this should look something like {"Australia": "2006 2010 "}

var classNameMap = <?php echo JSON_encode($classesForCountries); ?>;
geojson = L.geoJson(statesData, {
    style: function(feature) {

        // Here is where we got the issue

        var classes = classNameMap[feature.properties.sovereignt];
        if (classes) {
            return {className: classes};
        }
    },
}).addTo(map);

更新

通过查看console.log,它指向了库中的一行:

...t.replace(/^\s+|\s+$/g,"")},splitWords:function(t){return o.Util.trim(t).split(/\s+/)}...

1 个答案:

答案 0 :(得分:4)

  

“@ Fred-ii- lol superb。非常感谢。把它放在答案中,我会接受它。 - rob.m”

根据OP的要求:

+= get_field('year') + ' '

您可能来自JS / C背景,并认为+符号可用于PHP中的连接。 PHP正在考虑你想要做数学的加号。

这是在PHP中连接的点:

.= get_field('year') . ' '