获取 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(),
我尝试在 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(),