需要帮助添加到Javascript数组对象和插入到命令
Need Help adding to Javascript Array Object and Inserting into a command
我有以下代码:
$("#map4").gMap({ markers: [
{ address: "Tettnang, Germany",
html: "The place I live" },
{ address: "Langenargen, Germany",
html: "_address" }],
address: "Braitenrain, Germany",
zoom: 10 });
需要动态填充markers
数组。我正在调用ajax并返回json数组。所以我必须遍历它,只存储地址和html (html是多个数组元素的连接字符串)。
var markers = new Object();
$.post(
custom.ajaxurl,
{
action:'get_current_events'
},
function(jdata) {
$.each(jdata, function(i, data){
markers += "{ 'address': '" + data.address + "', 'html': '" + data.html + "'},";
});
$('#map_canvas').gMap({markers: markers.marks ,address: jdata[0].address, zoom: 10 });
markers
似乎是一个对象数组。我不明白你为什么要做字符串连接。您可以使用$.map
[docs]从您的回复中提取必要的信息:
$.post(custom.ajaxurl, {action:'get_current_events'}, function(jdata) {
var markers = $.map(jdata, function(data) {
return {address: data.address, html: data.html};
});
$('#map_canvas').gMap({
markers: markers,
address: jdata[0].address,
zoom: 10
});
});
MDN JavaScript Guide是一个非常好的JavaScript介绍
您正在尝试创建一个数组,而不是对象或字符串:
var markers = []; //Empty array
markers.push({ address: data.addres, ... });
您应该这样做(您需要一个对象数组):
var markers = [];
$.post(
custom.ajaxurl,
{
action:'get_current_events'
},
function(jdata) {
$.each(jdata, function(i, data){
var marker = { address: data.address, html: data.html };
markers.push(marker);
});
$('#map_canvas').gMap({markers: markers ,address: jdata[0].address, zoom: 10 });
相关文章:
- 如何用javascript,phonegap(cordova)将json对象插入sqlite表中
- 如何将对象插入对象列表的开头,当它有 unshift 不是函数错误
- 将对象插入到全局数组
- 通过多次调用按顺序将对象插入数组
- Javascript/Node - 使用 for 循环将对象插入数组
- MongoDB - 无法将 Mongo 对象插入 db
- 将 JavaScript 文件中的对象插入到 mongo 中
- 使用 Angular/PHP 将 JSON 对象插入 MySQL 表
- 使用 jQuery 将对象插入到内部 HTML 之前的其他对象中
- 将对象插入Meteor MongoDB中的多维数组中
- 如何将JS对象插入到匿名数组中
- 如何制作一个ng重复过滤器,为每个对象插入相应的html和{{expression}}
- (Angular)将一个对象插入json数组
- MongoDb:如何将附加对象插入到对象集合中
- 当动态创建的对象插入到DOM中时
- 使用下划线向数组对象插入项
- 猫鼬批嵌套对象插入
- jQuery.将一个对象插入另一个对象
- 将事件从json对象插入到fullcalendar
- 如何将其他对象插入事件侦听器