2012-06-11 3 views
4
{ 
"id":["123"], 
"optionid_123":"98" 
} 

나는 id을 변수로 갖지만, 어떻게하면 optionid_*을 얻을 수 있습니까? 나는 몇 가지 시도를했지만 아무 것도 작동하지 않는 것 같습니다. each은 적절한 함수 안에 있고 jsonid에는 올바른 값이 들어 있습니다.json 값을 동적으로 가져 오기

$.each(data.id,function(){ 
    var jsonid = this; 
    console.log(data.optionid_+jsonid); // doesn't work 
}); 

답변

9

당신은 Bracket notation를 사용할 수 있습니다 :

console.log(data['optionid_' + jsonid]); 
+0

아 하! 나는 몇몇 괄호 표기법을 시도했지만 어떤 이유 때문에 조금 벗어났다. 건배. – anotherdev

0

내가 data.id와 루프가 정확하지 생각 여기에 작동하지 않는 값 98에 접근하려고 시도한이다. 즉,

$.each(data.id, function() {..}) 

이 올바르지 않습니다. 예를 들어

당신은 data 다음과 같은 경우 :

var data = [{ 
"id":["123"], 
"optionid_123":"98" 
}, 
{ 
"id":["456"], 
"optionid_456":"99" 
}]; 

는 그런 다음 data 돌이 필요하고 필요한 속성을 가져.

$.each(data, function(index, val) { 
    var jsonid = val.id[0]; // as val.id is array so you need [0] to get the value 
    console.log(val['optionid_' + jsonid]); // bracket notation used 
}); 

DEMO