javascript - 如何迭代 JSON 以创建表的主体 - jQuery tmpl/template

标签 javascript jquery json jquery-plugins

我一直在尝试使用 jQuery 模板/tmpl 迭代一个 JSON 变量来创建一个表,我已经成功地迭代了一维 JSON 但是在尝试生成表的主体时需要生成一个二维迭代单元格>内部>行,我做不到。

非常感谢任何帮助!

我的代码:

//$("#blogPostTemplate").tmpl(blogPosts).appendTo("#blogPostContainer");
//  Grab this template   fill it with this data    append it to this div
var data = [{
  tableTitle: ["Stand With The Hammonds"],
  thead: [{
    header: 'H1'
  }, {
    header: 'H2'
  }, {
    header: 'H3'
  }],
  tbody: [
    [{
      col: 0
    }, {
      col: 1
    }, {
      col: 2
    }],
    [{
      col: 0
    }, {
      col: 1
    }, {
      col: 2
    }]
  ]
}];

$('#blogPostTemplate').tmpl(data).appendTo('#blogPostContainer');
table {
  border: 1px solid #F00;
}
tbody,
tr,
td {
  border: 1px solid #0F0;
}
thead,
th {
  border: 1px solid #00F;
}
<!DOCTYPE html>
<html>

<head>
  <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
  <title>standwithrand</title>
</head>

<body>
  <div id="blogPostContainer"></div>
  <script id="blogPostTemplate" type="text/x-jQuery-tmpl">
    <table>
      <h1>${tableTitle}</h1>
      <thead>
        <tr>
          {{each thead}}
          <th>${header}</th>{{/each}}
        </tr>
      </thead>
      <tbody>
        {{each tbody}}
        <tr>
          <td>${col}</td>
        </tr>
        {{/each}}
      </tbody>
    </table>
  </script>
  <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.js"></script>
</body>

</html>

最佳答案

我想问题在于您必须遍历每一行以生成每个单元格,因此您只需要获取行索引即可访问每个单元格。您可以使用下一个片段生成每一行和每个单元格:

      <tbody>
        {{each(idx) tbody}}
        <tr>
          {{each tbody[idx]}}
            <td>${col}</td>
          {{/each}}
        </tr>
        {{/each}}
      </tbody>

干杯, 豪尔赫

关于javascript - 如何迭代 JSON 以创建表的主体 - jQuery tmpl/template,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34619853/

相关文章:

javascript - 我如何在多个 <div> block 中通过 javascript DOM 应用样式

php - 如何更改 JSON 输出的格式?

java - IntelliJ Idea android application jakarta-commons-collections 多个dex文件定义

javascript - 在 Ionic 中添加项目后,ng-list 未刷新

javascript - 在 Javascript 中链接 promise 结果

javascript - 如何从异步调用返回响应?

javascript - 热门获取基于显示名称的选择选项值?

json - Aeson 使用的默认 ToJson 格式规范

javascript - react 如何使用 react-router 在 app.js 中渲染多个页面?

javascript - 在其他地方单击时菜单应该消失