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

Posted

技术标签:

【中文标题】如何迭代 JSON 以创建表的主体 - jQuery tmpl/template【英文标题】:How can iterate a JSON to create the body of a table - jQuery tmpl/template 【发布时间】:2016-04-09 18:14:18 【问题描述】:

我一直在尝试使用 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>

【问题讨论】:

【参考方案1】:

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

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

干杯, 豪尔赫

【讨论】:

谢谢,伙计,它工作得很好,我一直很想弄清楚+1

以上是关于如何迭代 JSON 以创建表的主体 - jQuery tmpl/template的主要内容,如果未能解决你的问题,请参考以下文章

迭代JSON给出字符,而不是元素

带有 json 的 Pyspark 数据框,迭代以创建新的数据框

使用 shell 脚本迭代 json 以存储键值对

C# httpwebrequest - 使用系统库创建 json 主体

在vue中如何引jquer

Fetch api - 在 then 和 catch 块中获取 json 主体以获取单独的状态代码