可以进行比元素计数更多的迭代吗?

时间:2014-06-22 14:27:32

标签: jsrender

最近我开始使用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行空白),谢谢。

1 个答案:

答案 0 :(得分:0)

最简单的方法是在服务器端或客户端添加一些空白对象到data数组的末尾。在您检索data之后以及将其传递到模板之前,这里有一些JavaScript可用。

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