2015-01-19 3 views
-1
{ 
    "slider1": [ 
    { 
    "title": "titleof", 
    "description": "something", 
    "coverlink": "images/search-icon.png", 
    "download": "link" 
    } 
    ] 
}, 

поэтому json загружается, а цикл for использует json для создания контента.Как вы выбираете массив json, если знаете имя как строку?

for (b = 0; b < floorvar; b++) { 
     addeles[b].innerHTML = "<img src='"+ jsonLoader[slider][b].coverlink +"'/>" 
} 

в этом случае слайдера = Slider1, как я могу использовать строку, я есть (Slider1) и заставить его делать то же самое, как

addeles[b].innerHTML = "<img src='"+ jsonLoader.slider1[b].coverlink +"'/>" 

Примечание: Ь индекс слайдера как это будет иметь несколько элементов, Slider1 является массивом JSON, так Slider1 [0] выбирает первый элемент

ответ

1

Может быть

for (b = 0; b < floorvar; b++) { 
     addeles[b].innerHTML = "<img src='"+ jsonLoader['slider1'][b].coverlink +"'/>" 
} 
+0

Я думаю, вы могли бы пропустить это, b все элементы внутри массива i.e slider1 [0] выбирает первый элемент массива – QuantumArchi

+0

yes, jsonLoader = JSON.parse (xmlhttp.responseText); Я тестировал его как jsonLoader.slider1 [b] .coverlink, и это правильно работает, просто есть несколько слайдеров, поэтому, если бы все слайдеры оказались в одном и том же контенте. и im передавая идентификатор слайдера через функцию, так что это было бы удобно, если бы я просто использовал для этого в основном – QuantumArchi

+0

Отредактировано. Это то, что тебе надо? – ikettu

1

Вы можете получить доступ к свойствам объекта двумя способами:

objectName.propertyName или objectName[propertyName]

так в вашем случае:

addeles[b].innerHTML = "<img src='"+ jsonLoader["slider1"][b].coverlink +"'/>" 

или сделать его динамичным:

var string = "slider1"; 
addeles[b].innerHTML = "<img src='"+ jsonLoader[string][b].coverlink +"'/>" 

Источник: http://www.w3schools.com/js/js_objects.asp

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