具有动态字段名称的数组

时间:2010-10-11 22:45:23

标签: jquery arrays

我在每个调用中传递此函数不同的字段名称。我希望它将变量field的插值字符串值作为发布的var的名称发布。例如,一个帖子可能有

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

我做错了什么?

1 个答案:

答案 0 :(得分:5)

您必须以不同方式构建对象:

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

它的作用是在一个小的匿名函数中构建你想要作为“数据”传递的对象。该函数使用静态字段名称初始化一个简单对象,然后在单独的语句中添加动态命名字段。

这不是真正的“阵列”,因为它的价值。