0

このサーバーで生成された JSON は、jQuery を使用してページに説明、価格、時間、日付を追加するために使用します。

[{
    "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にコンテンツを追加しています。これはうまくいきます。しかし、選択フィールドにオプションを追加しようとしていますが、1つしか取得できないため、うまく機能していません<option></option>

私はforループが初めてで、ループがどのように機能するのかよくわかりません。

var json = $.parseJSON(thejson);
    $("#ajanvarausInfo").html(json[0].palvelu_kuvaus+"<br>Osallistuminen maksaa "+json[0].palvelu_hinta+ "&euro;.");

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');
}
4

3 に答える 3

0

の代わりに.html().append()

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) });
于 2013-10-15T20:15:34.820 に答える
0
for(var i = 0; i < json.length;i++){
    $("#asiakasAika").append('<option value="'+json[i].aika_id+'">'+json[i].aika_kello+' '+json[i].aika_paivamaara+'</option>');
}

1 を i に変更

于 2013-10-15T20:11:45.070 に答える
0

各機能に組み込まれている jquery を使用する

var id = $('#asiakasAika');
$.each(json, function(key, value){
  id.append('<option value="'+value.aika_id+'">'+value.aika_kello+' '+value.aika_paivamaara+'</option>');
});
于 2013-10-15T20:25:07.047 に答える