用Mustache JS创建表

时间:2013-07-15 13:56:05

标签: javascript jquery html mustache

我刚刚开始了解Mustache,但我不明白我该怎么做:

  • 我有这个JSON对象:

     var columnsDefinition = {
    
        "columns": [
              {
                  "header": 'First name',
                  "values": ['John', 'Jack', 'Abe', 'Adelle', 'Jim', 'Andrew', 'Matthew'],
                  "type": 'text'
              },
              {
                  "header": 'Last name',
                  "values": ['Carpenter', 'Reaper', 'Lincoln', 'Aidan', 'Raynor', 'Doe'],
                  "type": 'text'
              },
              {
                  "header": 'Profession',
                  "values": ['butcher', 'doctor', 'farmer', '', 'pilot', 'singer', ''],
                  "type": 'select'
              },
              {
                  "header": 'Employed',
                  "values": [true, false, true, true, false],
                  "type": 'checkbox'
              }
        ],
        "search": true
    };
    
  • 我想创建this

这是我尝试过的,但我不知道如何在每列上放置values,而不是每行。

    this.testDiv = $("#testDiv");


    this.header = "{{#columns}}<th>{{header}}</th>{{/columns}}";

    this.body = "{{#columns}}<tr>{{#values}}<td>{{.}}</td><{{/values}}/tr>{{/columns}}";


    this.html = Mustache.to_html(this.header, this.columnsDefinition);

    this.html2 = Mustache.to_html(this.body, this.columnsDefinition);

    $("#testDiv table thead tr").append(this.html);

    $("#testDiv table tbody").append(this.html2);

如何创建上表?谢谢。

1 个答案:

答案 0 :(得分:1)

我不相信这可以开箱即用。

如果你不能修改你当前拥有的JSON对象,你最好生成另一个JSON对象,它将转移数据并将其提供给Mustache。