1

txt ファイルに保存された JSON データを使用してドロップダウン リストを作成しようとしています。私の主な問題はデータの読み取りです(APIから取得したデータをtxtファイルに保存しました。これは大量のデータであり、データを取得するたびにAPIにリクエストを送信する必要がないため、時間を節約したかったからです)が必要です)

*補足として、JSON の形式でデータを取得することが最善の選択肢であるかどうかは完全にはわかりません。この API でサポートされているその他のオプションは、CSV、JSONP、シリアル化された PHP、および XML (これらのいずれかがより簡単な場合) です。

JSON データの形式は次のとおりです (classes.txt に文字列として保存されます)。

{
    "classes": [
        {
            "cat_num": "0001",
            "field": "OEB",
            "number": "363",
            "title": "Plant Diversity and Evolution"
        },
        {
            "cat_num": "0002",
            "term": "FALL",
            "bracketed": false,
            "field": "OEB",
            "number": "364",
            "title": "Ecological Physiology of Microbes"
        }
    ]
}

これまでのところ、ドロップダウンメニューにこのtxtファイルを入力しようとする私のコードは次のとおりです

$(document).ready(function(){  
    var url = "classes.txt";
    $.get(url, function(data) {
    var obj = eval('(' + data + ')');
    $.each(obj, function(i, option){    
        $('#department').append($('<option/>')
                        .attr("value",option.cat_num)
                        .text(option.field));
      );
  );

    });

また、ドロップダウンで「フィールド」が一意であることを何らかの方法で確認する必要があることにも気付きました (つまり、3 つのクラスがフィールド「OEB」の場合、ドロップダウンに 3 回ではなく 1 回だけ OEB を表示したいだけです)。 )

あなたが提供できるかもしれない助けを前もって感謝します!

4

1 に答える 1

0

ここでこれが役立つかもしれません

$(document).ready(function(){
    $.getJSON('classes.txt', function(data) {

      $.each(data, function(i, option){        
            console.log(option.title)
            $('#department').append($('<option/>').attr("value",option.cat_num).text(option.title));
      });
    });
});
于 2012-12-07T10:09:38.067 に答える