Javascript For循环通过json
我已经使用这个服务器生成了JSON,我使用它使用jQuery向页面添加描述、价格、时间和日期Javascript For循环通过json,javascript,jquery,json,for-loop,Javascript,Jquery,Json,For Loop,我已经使用这个服务器生成了JSON,我使用它使用jQuery向页面添加描述、价格、时间和日期 [{ "palvelu_id": "1", "palvelu_nimi": "Meikkikoulutus", "palvelu_kuvaus": "Description", "palvelu_hinta": "10" }, { "aika_id": "1", "aika_kello": "14.00", "aika_paivamaara": "
[{
"palvelu_id": "1",
"palvelu_nimi": "Meikkikoulutus",
"palvelu_kuvaus": "Description",
"palvelu_hinta": "10"
}, {
"aika_id": "1",
"aika_kello": "14.00",
"aika_paivamaara": "28.10.2013",
"aika_paikkoja": "5",
"aika_palvelu": "1"
}, {
"aika_id": "2",
"aika_kello": "12.00",
"aika_paivamaara": "12.10.2013",
"aika_paikkoja": "1",
"aika_palvelu": "1"
}]
因此,我正在向div ajanvarausInfo添加内容,效果很好。但是,我也在尝试将选项添加到一个select字段中,这不太有效,因为我只得到一个选项
我不熟悉for循环,我不太确定它们是如何工作的
var json = $.parseJSON(thejson);
$("#ajanvarausInfo").html(json[0].palvelu_kuvaus+"<br>Osallistuminen maksaa "+json[0].palvelu_hinta+ "€.");
for(var i = 0; i < json.length;i++){
$("#asiakasAika").html('<option value="'+json[1].aika_id+'">'+json[1].aika_kello+' '+json[1].aika_paivamaara+'</option');
}
将1改为i而不是.html,使用
您的JSON也不正确。如果希望有多个项目,则需要将它们包装在另一个JSON元素中,然后循环:
[{
"palvelu_id":"1",
"palvelu_nimi":"Meikkikoulutus",
"palvelu_kuvaus":"Description",
"palvelu_hinta":"10"
},
{
"items": {
"aika_id":"1",
"aika_kello":"14.00",
"aika_paivamaara":"28.10.2013",
"aika_paikkoja":"5",
"aika_palvelu":"1"
},
{
"aika_id":"2",
"aika_kello":"12.00",
"aika_paivamaara":"12.10.2013",
"aika_paikkoja":"1",
"aika_palvelu":"1"
}
}]
然后像这样循环:
$.each(data.items, function () { alert(this.aika_id) });
使用每个功能中内置的jquery
var id = $('#asiakasAika');
$.each(json, function(key, value){
id.append('<option value="'+value.aika_id+'">'+value.aika_kello+' '+value.aika_paivamaara+'</option>');
});
好吧,您希望[i]…@KevinB这样做,而不是[1],但我的select上仍然只有一个选项。此外,由于您没有将第一个json对象放入options元素中,请以1而不是0开始for循环,并将1添加到forvar i=1的长度中;i
var id = $('#asiakasAika');
$.each(json, function(key, value){
id.append('<option value="'+value.aika_id+'">'+value.aika_kello+' '+value.aika_paivamaara+'</option>');
});