将变量传递给javascript对象

时间:2010-07-22 13:16:19

标签: javascript

请帮助解决我的问题

我有以下JavaScript对象:

var data = {                                   

    'rows[0][name]':    'foshka',
    'rows[0][tel]':    '096',
    'rows[0][opt]':    'none'

};

问题是我在尝试将变量作为行索引传递时出错:

var i = 0;
var data = {                                   

    'rows['+ i +'][name]':   'one',
    'rows['+ i +'][tel]':    '096',
    'rows['+ i +'][opt]':    'none'

};

提前致谢

2 个答案:

答案 0 :(得分:4)

您的代码必须是

var data = {};
data[ 'rows['+ i +'][name]' ] = 'one';
data[ 'rows['+ i +'][tel]' ] = '069';

但是您可能希望将结构更改为这样:

var data ={};
var i = 0;
data['rows'][i]['name'] = 'one';

甚至更干净:

var data = { rows[] };

var i = 0;
data['rows'][i] = { 'name' : 'one', 'tel' : 069' };

// so you can access them like this:
alert ( data['rows'][i]['name'] );

答案 1 :(得分:2)

我认为您的数据应如下所示:

var data = {
  rows: [{
    name: 'one',
    tel: '096',
    opt: null
  }]
};

这样,您可以根据需要添加新行。