2011-03-01 16 views
7

Estoy intentando realizar jQuery cada función en algo como:

"RelatedDoc": [ 
    { 
     "Id": "test", 
     "Number": "26262316" 
    } 
], 

que es una parte de un objeto JSON grande. Hasta ahora tengo:

$.each($('#panel_MRD').data('obj'), function (key,value) { 
    $('select.mrdDisplayBox').addOption(key, value, false); 
}); 

que estoy tratando de conseguir la opción de mostrar "ID - NÚMERO" - ¿Alguna idea? Lo anterior muestra pero no el formato correcto.

Respuesta

24
$.each(largeJSONobject.ReleatedDoc, function (index,value) { 
    $('select.mrdDisplayBox').addOption(value.Id, value.Id + ' - ' + value.Number, false); 
}); 

Su valor es el solo elemento de la matriz: {Id: '', Número: ''}

La documentación está aquí: http://api.jquery.com/jQuery.each/

+0

yo estaba tratando de eso, pero no parecía funcionar para mí. Estaba mirando a través de los documentos. Gracias por esto. – Coughlin

0

opción 1 (este utiliza el key como la opción 'id' es decir, 1, 2, 3, etc):

$.each($('#panel_MRD').data('obj'), function (key,value) { 
    $('select.mrdDisplayBox').addOption(key, value.Id + ' - ' + value.Number, false); 
}); 

no han probado, respuesta tan potencialmente apresurado.

[edit] - eché un vistazo rápido a esto cuando me di cuenta de que hay potencialmente 2 valores que podría usar como la opción 'id', clave o valor. Número.

opción 2 (esto utiliza value.Number como la opción 'id' es decir 26.262.316):

$.each($('#panel_MRD').data('obj'), function (key,value) { 
    $('select.mrdDisplayBox').addOption(value.Number, value.Id + ' - ' + value.Number, false); 
}); 

se detendrá a pensar ahora ... :-)

3
$.each($('#panel_MRD').data('obj'), function (key,value) { 
    $('select.mrdDisplayBox').addOption(value.Id, value.Id + ' - ' + value.Number, false); 
}); 
+0

Corrí esto con firebug y funcionó muy bien. – Coughlin

3

Aquí es mi problema y lo que solucioné Use firebug. esto es Array Object. Que se usa para crear cuatro casillas de verificación.

[ 
    {"datamet":"1","vchAmenityName":"TV"}, 
    {"datamet":"2","vchAmenityName":"Cable TV"}, 
    {"datamet":"5","vchAmenityName":"Internet"}, 
    {"datamet":"7","vchAmenityName":"Air Conditioning"} 
] 

<input type="checkbox" value="1" id="datamet1" /> 
<input type="checkbox" value="2" id="datamet2" /> 
<input type="checkbox" value="5" id="datamet5" /> 
<input type="checkbox" value="7" id="datamet7" /> 

tengo que encontrar esto primero en el interior. Los medios para comprobar el elemento dentro de él, como a continuación [{"datamet":"2"}]

Para esto lo hice siguiente .. tengo el problema resuelto

$.each(result, function(idx, obj){ 
    $.each(obj, function(key, value){ 
     console.log(key + ": " + value); 
    }); 
}); 
Cuestiones relacionadas