2015-07-09 2 views
0

Я использую toastr и хочу установить параметры с помощью объекта json, который возвращается из вызова ajax. У меня возникли проблемы с настройкой свойств и значений параметров динамически. Вот пример кода:Как динамически установить свойство в jquery?

if(data.toast){ 
    $.each(data.toast, function(index, element) { 
    toastr.options.index = element; 
    }); 
} 

И data.toast является JSON объект, который выглядит следующим образом:

"toast":{"closeButton":true} 

Вот что это будет выглядеть, если я жёстко его:

toastr.options.closeButton = true; 

Что я должен изменить .index в итераторе так, чтобы он оценивал его как переменную

ответ

1
if(data.toast){ 
    $.each(data.toast, function(index, element) { 
    toastr.options[index] = element; 
    }); 
} 

Выполнение как options.index пытается получить доступ к объекту index не является собственностью значение с индексом.

Вышеуказанный способ исправит это. Он рассматривает объект как своего рода ассоциативный массив. Таким образом, toastr.options[index] оценивает toastr.options["closeButton"], что совпадает с toastr.options.closeButton.

+0

Нет, в javascript нет ассоциативных массивов, но есть '[]' object notation – charlietfl

+0

Следовательно, "вид" –

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