防止模板循环内的标记输出多次?

时间:2015-10-09 10:28:01

标签: javascript underscore.js

我正在尝试使用id单元创建一个基于sessions数组长度应该跨越3列的表,因为id单元格位于循环内部当我只希望它具有一次特征时,输出3次。是否可以在模板中设置一些内容来执行此操作?

JS

<table>
    <tbody class="js-output">
        <script type="text/html" id="tmpl">
            <% _.each(sessions, function(session) { %>
                <tr>
                    <td rowspan="<%- session.length %>"><%- id %></td>
                    <td><%- session %></td>
                    <td><select name="" id=""></select></td>
                </tr>
            <% }) %>
        </script>
    </tbody>
</table>

小提琴:https://jsfiddle.net/egks4ys1/

硬编码布局:https://jsfiddle.net/egks4ys1/1/

2 个答案:

答案 0 :(得分:2)

这是一个模板,它将第一个会话元素与其余元素分开处理。

<table>
    <tbody class="js-output">
        <script type="text/html" id="tmpl">          
            <tr>
                <td rowspan="<%- sessions.length %>"><%- id %></td>
                <td><%- _.first(sessions) %></td>
                <td><select name="" id=""></select></td>
            </tr>
            <% _.each(_.rest(sessions), function(session) { %>
                <tr>
                    <td><%- session %></td>
                    <td><select name="" id=""></select></td>
                </tr>
            <% }) %>
        </script>
    </tbody>
</table>

小提琴:https://jsfiddle.net/egks4ys1/6/

答案 1 :(得分:2)

我已使用id ======= 3,4,5 index构建如下:

if

JSFiddle:https://jsfiddle.net/egks4ys1/14/