2013-02-16 2 views
0

У меня есть DOM элемент с:Как я могу использовать содержимое атрибута данных как хэш-ключ?

data-update-attribute='name' data-update-url='users/1' 

И я хочу сделать что-то вроде этого:

$.ajax({ type: 'PUT', 
     url: $el.data('update-url'), 
     data: { user: { xxx: value } } 
    }); 

Моя проблема заключается в том, что я не могу понять, как заменить ххх с содержанием от data-update-attribute , Это было бы тривиально в Ruby, но я совершенно не знаю, как это сделать в JS: -S

Спасибо!

+0

литерал объекта метки не могут быть определены так, AFAIK. Почему бы не использовать два разных ключа вместо одного? –

+0

Это была упрощенная версия моего «реального» кода – Alain

ответ

3

Вы не можете в литералов объектов, вам нужно будет построить объект без ключа, а затем использовать bracket notation:

var url = $el.data('update-url'), 
    attr = $el.data('update-attribute'), 
    user = {}; 
user[attr] = value; 
$.ajax({ 
    type: 'PUT', 
    url: url, 
    data: { user: user } 
}); 
Смежные вопросы