在骨干模板中使用_.each

时间:2012-10-29 20:18:22

标签: javascript templates backbone.js

我正在尝试在模板中使用骨干foreach语句,它在下面给出了一个错误。

参数列表

之后

SyntaxError:missing)

我正试图将这样的对象传递给它......

var multiSortDiv = _.template($('#multiSortContainerTemp').html(), { "cols": aoCols });

这是我的模板:

<script type="text/template" id="multiSortContainerTemp">
<div id="multiSortContainer">
    <br>
    <p style="font-weight:bold;width:400px;color:Blue">Multi-Sort - Check columns to Sort By</p>
    <br>
     <% _.each(%><%= cols %><%, function(val, i) { %>
       <label style="font-weight:bold;margin-left:7px"><%= val.sTitle %></label>
       <input id="multiSort_" + <%= i %> type="checkbox" style="margin-left:2px" />
     <%}) %>
</div>
</script>

有没有人知道我在模板中做错了什么???

3 个答案:

答案 0 :(得分:2)

您可以在此处简化模板:<% _.each(cols, function(val, i) { %>

答案 1 :(得分:0)

这是正确的模板:

<div id="multiSortContainer">
   <br>
   <p style="font-weight:bold;width:400px;color:Blue">Multi-Sort - Check columns to Sort By</p>
   <br>
    <% _.each(<%= cols %>, function(val, i) { %>
       <label style="font-weight:bold;margin-left:7px"><%= cols[i].sTitle %></label>
       <input id="multiSort_<%= i %>" type="checkbox" style="margin-left:2px" />
    <%}); %>
</div>

答案 2 :(得分:0)

好的我修好了。这是正确的模板代码:

<div id="multiSortContainer"> 
  <p style="font-weight:bold;width:400px;color:Blue">Multi-Sort - Check columns to Sort By</p>
  <% _.each(<%= cols %>, function(val, i) { %> 
    <label style="font-weight:bold;margin-left:7px">
    <%= cols[i].sTitle %></label> 
    <input id="multiSort_<%= i %>" type="checkbox" style="margin-left:2px" />
  <%}); %> 
</div>