2013-02-16 48 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內容替換XXX 。這在Ruby中是微不足道的,但我完全不知道如何在JS中執行它:-S

謝謝!

+0

對象文本標籤不能這樣指定,AFAIK。爲什麼不使用兩個不同的密鑰而不是一個? – 2013-02-16 14:28:37

+0

這是我的「真實」代碼的簡化版本 – Alain 2013-02-16 14:45:38

回答

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 } 
});