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

Javascript 防止模板循环内的标记被多次输出?,javascript,underscore.js,Javascript,Underscore.js,我正在尝试创建一个表,其中包含一个id单元格,该单元格应基于sessions数组长度跨3列,因为id单元格位于循环内,当我只希望它具有一次功能时,它会获得3次输出。是否可以在模板中设置一些内容来执行此操作 JS <table> <tbody class="js-output"> <script type="text/html" id="tmpl"> <% _.each(sessions, function(

我正在尝试创建一个表,其中包含一个
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>

小提琴:


硬编码布局:

这里有一个模板,它分别处理第一个sessions元素及其其余元素

<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>


Fiddle:

这里有一个模板,它分别处理第一个sessions元素及其其余元素

<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>


小提琴:

我使用了
索引和
if
结构,如下所示:

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

                <% if(i==0){%>  <td  rowspan="<%- sessions.length %>"><%- id %></td>
                <td><%- session %></td>
                <td><select name="" id=""></select></td><%}%>   
            </tr>
        <% }) %>
    </script>
</tbody>


jsIDLE:

我使用了
索引和
if
结构,如下所示:

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

                <% if(i==0){%>  <td  rowspan="<%- sessions.length %>"><%- id %></td>
                <td><%- session %></td>
                <td><select name="" id=""></select></td><%}%>   
            </tr>
        <% }) %>
    </script>
</tbody>


jsFIDLE:

我不太明白这个问题,但你在找这样的东西吗:?这里是一个硬编码的示例布局,说明我需要实现什么,为什么我需要这样做?也许是这样的:使用
索引
和执行
如果..否则
我不太明白这个问题,但是你在找这样的东西吗:?这是一个硬编码的示例布局,说明我需要实现什么,为什么我需要这样做?也许是这样的:使用
索引
并执行
if..else