【问题标题】:Possible to make more iteration than element count?可以进行比元素计数更多的迭代吗?
【发布时间】:2014-06-22 14:27:32
【问题描述】:

最近开始使用jsrender,我的客户需要一个5行的表格,如果只有3个数据项,表格会填3行,另外2行留空。

当我使用 jsrender 时,我使用了如下模板,

<script id="TmpOperation" type="text/x-jsrender">
 <tr>
  <td>{{:name}}</td>
 </tr>
</script>

我的问题是,如果数据项小于5,它不会生成5行,如何生成空白表行?

=====更新

我的数据:

data=[
    {name:'aaa'}, 
    {name:'bbb'}, 
    {name:'ccc'}
]

要渲染的代码:

var template = $.templates("#TmpOperation");

var html = template.render(data);

$("#tbody_report").html(html);

html代码:

        <table >
            <tbody id="tbody_report">

            </tbody>
        </table>

现在里面只有 3 个元素,会有一个 3 行的表格,但我需要 5 行(3 行填充,2 行空白),谢谢。

【问题讨论】:

  • 我们必须查看生成数据项的代码才能对此发表评论。

标签: jsrender


【解决方案1】:

最简单的方法是将一些空白对象添加到 data 数组的末尾,无论是在服务器端还是客户端。在您检索到 data 并将其传递给模板之前,这里有一些 JavaScript 将起作用。

for (var i = 5 - data.length; i > 0; i--) { 
    data.push({name: ''});
}

【讨论】:

  • 可能需要在其中放入 something,可能是 &amp;nbsp;&amp;#8203;(零宽度空间)以保持表格单元格的一致性。跨度>
猜你喜欢
  • 1970-01-01
  • 2019-09-15
  • 2022-01-13
  • 2014-11-12
  • 2017-03-23
  • 1970-01-01
  • 2013-01-01
  • 2021-11-10
  • 2014-06-13
相关资源
最近更新 更多