2016-05-24 3 views
0

В плагине Wordpress есть полевое поле, называемое «данные», где я могу добавить код для его вытягивания, ниже в коде, где он говорит «data =», что я ссылаюсь на поле. В коробке:Как добавить элементы массива в javascript?

Что я положил в коробку поле под названием «данные»:

{ 
    contacts: [ 
    { name: "Name 1", email: "[email protected]" }, 
    { name: "Name 2", email: "[email protected]" } 
    ] 
}; 

Это то, что я кладу в глобальном поле поле, для того, чтобы обратиться ко всему.

function (jQueryPopoverObj, mapObject, mapsvgInstance) { 

    // "this" = clicked mapObject 
    if(this.mapsvg_type == "region"){ 
    return '<b>'+this.id+'</b>' + 
     this.data.contacts.map(function(contact) { 
     return contact.name + '<br>' + 
      '<a href="mailto:'+contact.email+ '">' + contact.email + '</a>' 
     }).join('<br>'); 

    } else if (this.mapsvg_type == "marker"){ 
    return 'Marker - <b>'+this.id+'</b>, contact: '+this.data.email; 
} 

} 

Я хочу добавить {место: «Округ»} к части данных и добавить его в функции. Я попытался добавить строку в контакты, а затем добавить + '<br>' + contact.seat, после возврата contact.name, без везения. В основном, когда он делает popover (который он извлекает из глобальной функции для шаблона и информации из поля поля данных), я хочу, чтобы у него был CountySeat под названием округа (например, графство Seat для округа Харрис - Хьюстон, поэтому будет Хьюстон под графством Харрис).

Example of Lubbock County without the City name under it

+0

У вас есть объект 'data', который содержит массив. Я так много придерживаюсь. Затем вы пытаетесь добавить '{seat:" County Seat "}' к этому объекту/массиву --- каким-то образом. То, что вы пытаетесь сказать, не в вашем коде * нигде *. Не быть грубым, но вы действительно хотите прочитать базовую документацию о том, как работают объекты и массивы. –

+0

Спасибо. Объект данных исходит из поля формы плагина wordpress, поэтому я не могу его изменить. И я ограничен этим полем, озаглавленным «данные», поэтому я должен добавить все под данными. – Otiar

ответ

0
var data = { 
      contacts: [ 
        { name: "Name 1", email: "[email protected]" }, 
        { name: "Name 2", email: "[email protected]" } 
        ] 
      } 

Чтобы добавить новое место свойство, можно просто сделать this-

data["seat"] = "County Seat" 

или

data.seat = "County Seat" 

JSFiddle

+0

Спасибо. Объект данных исходит из поля формы плагина wordpress, поэтому я не могу его изменить. И я ограничен этим полем, озаглавленным «данные», поэтому я должен добавить все под данными. – Otiar

0

Похоже, вы хотите установить назначение места на контакте? Вам нужно будет получить контакт из массива, перейдя через каждый из них и выяснив тот, который вы хотите использовать, затем сделайте contact.seat = «XYZ», который добавит свойство места в контактный объект. Затем вы можете использовать contact.seat в выводе строки, но вы должны его проверить, потому что он может быть нулевым. Чтобы помочь с этим, я бы рекомендовал недобросовестный его в пустую строку, как:

data = { 
contacts: [ 
{ name: "Name 1", email: "[email protected]", seat: "" }, 
{ name: "Name 2", email: "[email protected]", seat: "" } 
    ] 
} 

А затем изменить его, когда он назначен.

Смежные вопросы