2011-03-01 59 views
7

我想对像执行jQuery的每个功能的阵列:

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

这是一个大的JSON对象的一部分。到目前为止,我有:

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

我试图去显示“ID - 号” - 选择任何想法​​?以上显示但不是正确的格式。

回答

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

你的价值是与阵列的单个元素:{ID: '',编号: ''}

文档是在这里:http://api.jquery.com/jQuery.each/

+0

我尝试这一点,但没有似乎为我工作。我正在浏览文档。谢谢你。 – Coughlin 2011-03-01 16:20:45

0

选项1(这里使用了key作为选项“ID”即1,2,3等):

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

还没有测试过,所以可能冲上去的答案。

- 当我意识到有潜在的2个值可以用作选项'id',无论是键还是值。

选项2(这使用value.Number的选项 '身份证',即26262316):

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

将停止现在想... :-)

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

与萤火虫一起运行,效果很好。 – Coughlin 2011-03-01 16:22:53

3

这里是我的问题和我解决了什么。 使用萤火虫。 这是Array对象。这是用来创建四个复选框。

[ 
    {"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" /> 

我必须先找到它。是指以检查它里面的元素像下面 [{"datamet":"2"}]

为此,我也下..我得到了问题就迎刃而解了

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