2011-08-26 2 views
0

réponse JSON est la suivante:Match et valeur d'affichage de JSON dans Jquery

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

Je suis en train de boucler à travers toutes les propriétés du fichier JSON et correspondre à la valeur de la propriété « clé » passé en tant que paramètre. Donc, pour le plugin, je passe une valeur "T1000". Si cette valeur existe en tant que valeur "clé" d'approbation dans le fichier JSON, je veux afficher la "valeur" d'approbation correspondante (dans ce cas, Amy Dong).

Je passe inputFieldDefaultValue en tant que paramètre au plugin avec la valeur "T1000". Par conséquent, o.inputFieldDefaultValue.

Voici mon code de plugin JQuery mais il ne crache que l'objet Object, object Object. Donc, si j'ai 5 "approbation", ce code crache l'objet Objet 5 fois.

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

Si je

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

il alerte la valeur correspondante (Amy Dong), mais il écrit encore l'objet Object (autant de fois que les propriétés de la réponse JSON).

Qu'est-ce que je fais mal?

+2

Je suis confus. La ligne 'approvals.approval.value;' ne fait rien. Où l'objet Object est-il affiché? –

+1

Typo dans votre code? Ne devriez-vous pas vérifier ceci? Par exemple, 'this.approval.key' et' this.approval.value'? – gilly3

+0

«approbations» est «ceci» dans ce contexte, je crois. Voir les paramètres de la fonction. –

Répondre

1

Si je vous comprends bien, et tout ce dont vous avez besoin est le retour value, vous avez besoin quelque chose comme ça:

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

Je supposais ce code est à l'intérieur une fonction qui est de renvoyer la valeur correcte.