使用下划线和骨干js模板创建类似于表的日历

时间:2013-11-04 17:11:35

标签: javascript backbone.js underscore.js

嗨大家我是骨干和下划线的总菜鸟。我需要创建一个表格,显示某些日期的预约。我必须让它看起来像这样:

enter image description here

这是我的收藏品的样子:

    [
    {"id":0, "startDate":"04/11/2013", "serviceID":241, "providerID":223, "timeSlots": ["09:00","10:00","11:00","12:00","13:00","14:00","15:00","16:00"]},
    {"id":0, "startDate":"05/11/2013", "serviceID":241, "providerID":223, "timeSlots": ["09:00","10:00","11:00","12:00","13:00","14:00","15:00","16:00"]}
]

我目前在下划线模板中所做的是:

<div class="table-responsive">
    <div class="row">

    </div>
    <table id="stbl" class="table table-striped table-condensed table-bordered">
        <% _.each(slots, function(slot) { %>
              <tr>
                <td>
                   <strong> <%- slot.startDate %> </strong>
                </td>
                <% _.each(slot.timeSlots, function(t) { %>
                    <td>
                       <button id="timeslot" data-provider="<%- slot.providerID %>" data-time="<%- t %>" data-date="<%- slot.startDate %>" class="btn btn-small btn-blue"><span><%- t %></span></button>
                    </td>
                <% }); %>
               </tr>
         <% }); %>
</table>
</div>

我对模板进行了哪些更改,使其具有如上图所示的结构?

由于

1 个答案:

答案 0 :(得分:1)

您的数据结构有点繁琐。 我建议你在你的模板中做2次传递来构建表格标题&amp;身体分开。

这就是我想说的:

// template start 
<table>
  <thead>
    /* ...code to create header */
  </thead>
  <tbody>
  /* ... code to create row entries */
  </tbody>
</table>
// template end

fiddled it为你。希望你能从这里继续深入。

祝你好运