4

次の例で、テンプレートループがJSONデータをどのようにループするのかを誰かにアドバイスできますか?
ここのデモ:http://jsfiddle.net/Seefeld/LbVEH/

 {
    "0": {
        "Dosage": "25",
        "Drug": "Indocin",
        "Patient": "David",
        "Date": "15/11/2012 14:29:14"
    },
    "1": {
        "Dosage": "50",
        "Drug": "Enebrel",
        "Patient": "Sam",
        "Date": "15/11/2012 14:29:14"
    },
    "2": {
        "Dosage": "10",
        "Drug": "Hydralazine",
        "Patient": "Christoff",
        "Date": "15/11/2012 14:29:14"
    },
    "3": {
        "Dosage": "21",
        "Drug": "Combivent",
        "Patient": "Janet",
        "Date": "15/11/2012 14:29:14"
    },
    "4": {
        "Dosage": "100",
        "Drug": "Dilantin",
        "Patient": "Melanie",
        "Date": "15/11/2012 14:29:14"
    }
}

私が見たすべての例はmustache.js、あなたがオブジェクト名を知っていることを前提としています。 どんな提案でも大歓迎です。

4

1 に答える 1

8

本物の配列に変換することもできますdata(とにかくそうあるべきです):

var drugs = [];
for (var i = 0, drug; (drug = data[i]); ++i) {
  drugs.push(drug);
}

var template = "{{#drugs}}<p>{{Drug}}</p>{{/drugs}}";
var html = Mustache.to_html(template, {drugs: drugs});
$(html).appendTo("#cnt");

または自分でデータを参照します。

var template = "<p>{{Drug}}</p>";
for (var i = 0, drug; (drug = data[i]); ++i) {
  var html = Mustache.to_html(template, drug);
  $(html).appendTo("#cnt");
}
于 2012-11-15T15:05:46.870 に答える