2012-03-10 4 views
0

У меня есть переменная JSon, хранящуюся в $ («# бюджет») данные («Отчисления»)Ошибка синтаксиса при доступе к свойству переменной?

я могу получить доступ к нему в данных, как это:.

id = "5"; 
alert($("#budget").data('allocations')[id].amount); 

Но мне нужно, чтобы получить доступ к нему, как это :

var id = "5"; 
var field = "amount"; 

alert($("#budget").data('allocations')[id].[field]); 

Использование переменной в названии свойства приводит к сбою.

отсутствует имя после. оператор (со ссылкой на [поле])

ответ

5

В принципе, .xxx может быть заменен на ["xxx"], и нет никакого ограничения при объединении. Просто используйте ту же логику, использованный для id:

$("#budget").data('allocations')[id][field] 

Всякий раз, когда ключ находится в переменной, замените .key с [variable]. Итак, obj.key1.key2 становится obj[variable1][variable2] с той же логикой.

+2

О, хорошо, мой единственный вопрос был периодом. $ ("# budget"). data ('allocations') [id]. [field] должно быть $ ("# budget"). data ('allocations') [id] [field] Спасибо! – 2bytes

+0

@ 2bytes: На SO, говоря спасибо, принимает ответ, спасибо :) – pimvdb

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