0

サービスから任意の JSON を返すことができます。JSON に基づいて、SelectBoxes を動的に作成し、それらに値を入力する必要があります。

例えば-

 JSON = {
    "Level": [{
        "Product": [{
            "ID": "ID1",
                "Brand": "Brand2",
                "Type": "Type3",
                "Line": "Line4",
                "Family": "Family5"
        }],
            "Location": [{
            "City": "City1",
                "State": "State2",
                "Region": "Region3",
                "Country": "Country4"
        }],
            "Time": [{
            "Day": "Day1",
                "Week": "Week2",
                "Month": "Month3",
                "Quarter": "Quarter4",
                "Year": "Year5"
        }]

    }]
} 

この場合、3 つのメイン選択ボックスが作成され、その下にサブ選択ボックスが作成されます。同様に - OneMain SelectBox - 時間、時間の下にさらに 5 つの選択ボックス、2 番目の SelectBox - 場所、その下にさらに 4 つの選択ボックスなど。

そのようなレベルまで動的にする方法はまったくわかりません。

4

2 に答える 2

3

これを試して、

var level=JSON['Level'][0];
for(var pr in level){
    var $select =$('<select/>');
    $select.append('<option>'+pr+'</option>');
    key=level[pr][0];
    for(k in key){
         $select.append('<option>'+key[k]+'</option>'); 
    }
    $select.appendTo('body');
}

ライブデモ

于 2014-04-02T06:12:46.847 に答える
0

こんにちは、これはあなたが望む例だと思います、私はJqueryを使用しています

var  JSONS = {
    "Level": [{
      "Product": [{
            "ID": "ID1",
                "Brand": "Brand2",
                "Type": "Type3",
                "Line": "Line4",
                "Family": "Family5"
        }],
            "Location": [{
            "City": "City1",
                "State": "State2",
                "Region": "Region3",
                "Country": "Country4"
        }],
            "Time": [{
            "Day": "Day1",
                "Week": "Week2",
                "Month": "Month3",
                "Quarter": "Quarter4",
                "Year": "Year5"
        }]

    }]
} 

$(document).ready(function(){
    $.each(JSONS.Level[0],function(key,val){
       var currentSection = val[0];

        var selectEle=$('<select id="'+key+'"></select>');
        $.each(currentSection,function(k,va){
          var op =  "<option>"+va+"</option>";
            selectEle.append(op);

        });

        $('#selectWrap').append(selectEle);        
    });



});
于 2014-04-02T06:17:18.470 に答える