来自json的变量名称与计数数字相结合

时间:2014-04-01 08:11:04

标签: javascript jquery json

我有以下循环:

for( i = 1; i < parseInt(data.anzahl_parameter) + 1; i++ )
{
    newParameterInputFieldLabel = $( "<label>" )
    .text( data.p1_einheit )
        .attr( "for", "einheit1" )
        .appendTo( newInputAreaAmountDiv );


    newParameterInputField = $( "<input>" )
        .addClass("insertFloat")
        .attr("id", "einheit" + i)
        .appendTo( newParameterInputFieldLabel );
    }

变量data.p1_einheit来自json数组。当data.anzahl_parameter只有1个元素时,这很好用。

但是当我有2个或更多元素时,我无法动态使用变量。

我试过这个:

data.p[i]_einheit

但我的脚本停止了。

为了让它有效,我应该改变什么?

1 个答案:

答案 0 :(得分:1)

您必须将整个属性名称(作为字符串)放在方括号之间。使用它们而不是点符号,而不是在它的中间。

data["p" + i + _einheit]

你可能最好不要重构JSON,所以你有一个数组而不是遵循数字约定的属性。