2010-10-11 65 views
2

我在每次調用時傳遞此函數不同的字段名稱。我希望它將變量field的插值字符串值作爲發佈變量的名稱。例如,一個職位可能有具有動態字段名稱的數組

data: { 'shoppingCartContents' : cartrow, 'number' : number, 'foo' : value } 

但每一個崗位只是有

data: { 'shoppingCartContents' : cartrow, 'number' : number, 'field' : value } 

即使field不加引號。

function update_personalization(cartrow, number, field, value) { 
    $.ajax({ 
    type: 'POST', 
    url: 'updatePersonalization.php', 
    data: { 'shoppingCartContents' : cartrow, 'number' : number, field : value } 
    }); 
} 

我在做什麼錯了?

回答

5

你必須以不同的方式建立的對象:

data: (function() { 
    var rv = {shoppingCartContents: cartrow, number: number}; 
    rv[field] = value; 
    return rv; 
    })() 

什麼,做是建立你想通過在一個小的匿名函數「數據」的對象。該函數使用靜態字段名稱初始化一個簡單對象,然後在單獨的語句中添加動態命名的字段。

這不是一個真正的「陣列」,因爲它是值得的。

+0

謝謝Pointy。多謝! – jerrygarciuh 2010-10-12 01:02:26

相關問題