2011-08-26 57 views
0

JSON回应如下:匹配和JSON jQuery的显示数值

{"approvals": 
    [ 
     {"approval": 
      { 
       "id":"0121920", 
       "key":"T100", 
       "value":"Ben Tsu" 
      } 
     }, 
     {"approval": 
      { 
       "id":"", 
       "key":"T1000", 
       "value":"Amy Dong" 
      } 
     } 
    ] 
} 

我通过在JSON文件中的所有属性试图环和匹配通过了“关键”属性的值作为参数。

所以,我给这个插件传递一个值“T1000”。如果此值在JSON文件中作为批准“关键”值存在,我想要显示相应的批准“值”(在此情况下为Amy Dong)。

我将inputFieldDefaultValue作为参数传递给值为“T1000”的插件。因此,o.inputFieldDefaultValue。

这是我的JQuery插件代码,但它只是吐出对象对象,对象对象。所以,如果我有5个“批准”,这个代码将对象对象吐出5次。

$.each(response.approvals, function(index, approvals){ 
    if(approvals.approval.key == o.inputFieldDefaultValue){ 
     approvals.approval.value; 
    } 
}); 

如果我做

$.each(response.approvals, function(index, approvals){ 
    if(approvals.approval.key == o.inputFieldDefaultValue){ 
     alert(approvals.approval.value); 
    } 
}); 

它就会提醒相应的值(艾米董),但它仍然写对象的对象(如多次作为JSON响应的属性)。

我在做什么错?

+2

我很困惑。 'approvals.approval.value'这行不做任何事情。 “对象对象”在哪里显示? –

+1

代码中的错字?你不应该检查这个吗?即,'this.approval.key'和'this.approval.value'? – gilly3

+0

我认为,在这种情况下,“批准”就是“这个”。查看功能的参数。 –

回答

1

如果我理解正确的你,你需要的是返回value,你需要类似的东西:

var result = null; 
$.each(response.approvals, function(index, approvals){ 
    if(approvals.approval.key == o.inputFieldDefaultValue){ 
     result = approvals.approval.value; 
    } 
}); 
return result; 

我以为这个代码是一些功能,这是返回正确的值内。