获取 jVectormap 的值。 getElementbyID 不工作

Get values for jVectormap. getElementbyID is not working

我尝试在 jVectormap 中设置标记。我从我的数据库中获取内容并将其写入一个隐藏的输入字段。 Return 格式如下:

{latLng:[52.5200066,13.404954],name:'Berlin'},{latLng:[53.0792962,8.8016937],name:'Bremen'},{latLng:[49.8728253,8.6511929],name:'Darmstadt'},{latLng:[50.1109221,8.6821267],name:'Frankfurt'},{latLng:[53.5510846,9.9936818],name:'Hamburg'},{latLng:[54.3232927,10.1227652],name:'Kiel'},{latLng:[50.937531,6.9602786],name:'Köln'},{latLng:[48.30694,14.28583],name:'Linz'},{latLng:[48.1351253,11.5819806],name:'München'},{latLng:[53.6355022,11.4012499],name:'Schwerin'},{latLng:[48.7758459,9.1829321],name:'Stuttgart'},{latLng:[48.0689177,11.6212533],name:'Unterhaching'},,{latLng:[48.2081743,16.3738189],name:'Wien'},

如果我想阅读这个字段,什么也不会发生。如果我将此行复制并粘贴到 javascript 部分,一切都很好。

这是有效的:

<script>
    $(function(){
        var map,
          markers = [
            {latLng:[52.5200066,13.404954],name:'Berlin'},{latLng:[53.0792962,8.8016937],name:'Bremen'},{latLng:[49.8728253,8.6511929],name:'Darmstadt'},{latLng:[50.1109221,8.6821267],name:'Frankfurt'},{latLng:[53.5510846,9.9936818],name:'Hamburg'},{latLng:[54.3232927,10.1227652],name:'Kiel'},{latLng:[50.937531,6.9602786],name:'Köln'},{latLng:[48.30694,14.28583],name:'Linz'},{latLng:[48.1351253,11.5819806],name:'München'},{latLng:[53.6355022,11.4012499],name:'Schwerin'},{latLng:[48.7758459,9.1829321],name:'Stuttgart'},{latLng:[48.0689177,11.6212533],name:'Unterhaching'},,{latLng:[48.2081743,16.3738189],name:'Wien'},

          ],

这不起作用:

$(function(){
        var map,
          markers = [
            document.getElementById("geodata").value; 

          ],

我的问题在哪里? :(

输入中的值是 JSON 字符串,不是对象,因此您必须将其解析为对象:

$(function(){
        var map,
          markers = [
            JSON.parse(document.getElementById("geodata").value); 

          ],

所以我在不同的时间更改了所有内容,现在它几乎可以正常工作了。

我现在 "divs" 而不是输入。我更改了我的 php 函数和 return 正确的 JSON-Formt (这是我第一次尝试的错误)

这里是 javascript 代码:

function GET_PLACES(){
    var result_numbers = document.getElementById("result_numbers").value -1;
    var text = "";
    var result = "";
    for (i = 1; i < result_numbers + 2; i++) {
        text = JSON.parse(document.getElementById("geodata"+i).innerHTML);
    }
    return text;
}
console.log(GET_PLACES());
alert(JSON.stringify(GET_PLACES()));
$(function(){
        var map,

          markers = [GET_PLACES()],

...

我遇到的最后一个问题是,它只返回循环中最后找到的 JSON。

如何构建包含所有找到的 JSON 个对象的数组?

更新...这是解决方案

function GET_PLACES(){
    var result_numbers = document.getElementById("result_numbers").value -1;
    var text = "";
    var result = [];
    for (i = 1; i < result_numbers + 2; i++) {
        text = JSON.parse(document.getElementById("geodata"+i).innerHTML);
        result.push(text);
    }
    return result;
}
console.log(GET_PLACES());
alert(JSON.stringify(GET_PLACES()));
$(function(){
        var map,

          markers = GET_PLACES(),